JSP在WAP网页中的运用
JSP在WAP网页中的运用
首先需求配置WEB服务器
在设计WAP网页时不论你利用的WAP开发工具是UP.SDK或NOKIAWAPTOOKIT或许ERICSSONWAPIDE,你都必须停止WEB服务器设置,故在此将常见的几种WEB服务器的设置引见如下:
(我所用的是Tomcat4.0,即ApacheWebServer.设置方法如下:)
我所用的环境:ApacheWebServeronNTORSolariesORLINUXOROTHERUNIX
1)不管是windows还是UNIX或LINUX,都是修正Apache装置目录下的conf/mime.types文件
2)在该文件中添加以下内容:
text/vnd.wap.wml.wml(普通加这一个就可能运转普通的WAP网页了)
image/vnd.wap.wbmp.wbmp
application/vnd.wap.wmlc.wmlc
text/vnd.wap.wmls.wmls
application/vnd.wap.wmlsc.wmlsc
3)存盘
4)重新启动APACHEWEBSERVER(我的是TOM猫)即可。
二、一个简略的WAP网页square.wml(平方表)程序
<?xmlversion="1.0"?>
<!DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN"
"";>
<%@pagecontentType="text/vnd.wap.wml"%>
<wml>
<cardid="card1"title="Math">
<p>平方表:</p>
<p>
<%
{inti;%>
<%for(i=1;i<=9;i++){%>
<%=i%>x<%=i%>=<%=i+i%><br/>
<%}%>
<%}%>
</p>
<dotype="prev"name="Previous"label="Previous">
<prev/>
</do>
</card>
</wml>
********************************************************
程序其实很简略了。拿去运转一下。假设这都搞不懂,只能去找本书看看先。
三、用模拟手机阅读WAP网页时,汉字显示会出现乱码或编译出错,我普通都用本人做的一个VB小程序先转化成UNICODE码。听说可能经过设置WEB服务器中设置MIME表时,在text/vnd.wap.wml
后加上“;charset=charset_name”,如GB2312汉字:text/vnd.wap.wml;charset=gb2312来
处理。不过我试过,不断都不成。(宿愿高手不吝赐教)
四、一个将wml中的数据提交给javabean的例子.
**fice.jsp(输入你希冀的工资,提交给fice.java.注:汉字需求先转化成unicode码)
(键入你希冀的工资->键入你希冀
的工资)
<?xmlversion="1.0"?>
<!DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN"
"";>
<%@pagecontentType="text/vnd.wap.wml"%>
<jsp:useBeanid="fice"scope="session"class="fice.lucky"/>
<jsp:setPropertyname="fice"property="salary"param="salary"/>
<wml>
<cardid="card1">
<dotype="accept"label="HowMuch">
<gohref="fice.jsp"/>
</do>
<p>
键入你希冀的工资:<inputname="salary"format="*N"/>
</p>
</card>
</wml>
也不知道对不对。呵呵。见笑。
javabean的程序就懒得给进去了。
五、用NOKIAWAPTOOKIT读取文件。
先在D下建设一个文本文件test.txt。运转下面的程序,就可能在模拟器中读取文件噢。
(既然是jsp程序,就该把web服务器起来先了。)
<?xmlversion="1.0"?>
<!DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN"
"";>
<%@pagecontentType="text/vnd.wap.wml"%>
<wml>
<cardid="card1"title="Title">
<p>
<%
//变量申明
java.lang.StringstrFileName;//文件名
java.io.FileobjFile;//文件对象
java.io.FileReaderobjFileReader;//读文件对象
char[]chrBuffer=newchar[10];//缓冲
intintLength;//实践读出的字符数(一个中文为一个字符)
//设置待读文件名
strFileName="d:\\test.txt";
//创建文件对象
objFile=newjava.io.File(strFileName);
//判别文件能否存在
if(objFile.exists()){//文件存在
//创建读文件对象
objFileReader=newjava.io.FileReader(objFile);
//读文件内容
while((intLength=objFileReader.read(chrBuffer))!=-1){
//输出
out.write(chrBuffer,0,intLength);
}
//关闭读文件对象
objFileReader.close();
}
else{//文件不存在
out.println("下列文件不存在:"+strFileName);
}
%>
</p>
</card>
</wml>