JSP在WAP网页中的应用
;
首先需要配置WEB服务器
在设计WAP网页时不论你使用的WAP开发工具是UP.SDK 或NOKIA WAP TOOKIT 或者ERICSSON WAPIDE,你都必须进行WEB服务器设置,故在此将常见的几种WEB服务器的设置介绍如下:
(我所用的是Tomcat4.0,即Apache Web Server.设置方法如下:)
我所用的环境:Apache Web Server on NT OR Solaries OR LINUX OR OTHER UNIX
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)重新启动APACHE WEB SERVER(我的是TOM猫) 即可。
二、一个简单的WAP网页square.wml(平方表)程序
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml";>
<%@ page contentType="text/vnd.wap.wml" %>
<wml>
; <card id="card1" title="Math">
<p>平方表:</p>
; <p>
;<%
;{int i;%>;
;<%for(i=1; i<=9; i++){ %>
; <%=i%>x<%=i%>=<%=i+i %><br/>
;;;;<% }%>
<% }%>
; </p>
;;<do type="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码)
(键入你期望的工资->键入你期望
;;的工资)
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml";>
<%@ page contentType="text/vnd.wap.wml" %>
<jsp:useBean id="fice" scope="session" class="fice.lucky" />
<jsp:setProperty name="fice" property="salary" param="salary" />
<wml>
; <card id="card1">
;<do type="accept" label="HowMuch">
;;;;<go href="fice.jsp"/>
;</do>
;<p>
;;;;键入你期望的工资 : <input name="salary" format="*N"/>
;</p>
; </card>
</wml>
也不知道对不对。呵呵。见笑。
javabean的程序就懒得给出来了。
五、用 NOKIA WAP TOOKIT读取文件。
先在D下建立一个文本文件test.txt。运行下面的程序,就可以在模拟器中读取文件噢。
(既然是jsp程序,就该把web服务器起来先了。)
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml";>
<%@ page contentType="text/vnd.wap.wml" %>
<wml>
;;<card id="card1" title="Title">
;;;;<p>
<%
//变量声明
java.lang.String strFileName;;;//文件名
java.io.File objFile;;;//文件对象
java.io.FileReader objFileReader; //读文件对象
char[] chrBuffer = new char[10]//缓冲
int intLength;;//实际读出的字符数(一个中文为一个字符)
//设置待读文件名
strFileName = "d://test.txt";
//创建文件对象
objFile = new java.io.File(strFileName);
//判断文件是否存在
if(objFile.exists()){//文件存在
//创建读文件对象
objFileReader = new java.io.FileReader(objFile);
//读文件内容
while((intLength=objFileReader.read(chrBuffer))!=-1){
;;;//输出
;;;out.write(chrBuffer,0,intLength);
}
//关闭读文件对象
objFileReader.close();
}
else{//文件不存在
out.println("下列文件不存在:"+strFileName);
}
%>
;</p>
;;</card>
</wml>