|
一、首先需要配置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(平方表)程序
<?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来解决。
四、一个将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>
|