一、首先需要配置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 即可。
二、一个简单的WAP网页square.wml(平方表)程序
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)?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网页时的乱码问题
用模拟手机浏览WAP网页时,汉字显示会出现乱码或编译出错,我一般都用自己做的一个VB小程序先转化成 UNICODE码。据说可以通过设置WEB服务器中设置MIME表时,在text/vnd.wap.wml后加上;charset=charset_name,如GB2312汉字 :text/vnd.wap.wml;charset=gb2312来解决。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)四、一个将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
五、用 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