JAVA SCRIPT在WAP网页中的开发应用技术

来源:岁月联盟 编辑:zhuzhu 时间:2007-08-13

一、首先需要配置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>