WAP和Servlet交互

WAP介绍

WAP 是一种用于在无线终端(比如数字移动电话)进行信息服务的主要的标准。

WAP 标准基于因特网标准(HTML、XML 以及 TCP/IP)。它包括 WML 语言规范、WMLScript 规范以及无线电话应用接口规范(WTAI)。

WAP 由 WAP 论坛(WAP forum )发布,被爱立信、摩托罗拉、诺基亚以及 Unwired Planet 创建于 1997 年。论坛的成员目前占据着超过 90% 的全球手机市场,同时又是领先的基础设施提供商、软件提供商及其他机构。您可以在我们的 WAP 论坛页面找到有关 WAP 论坛的更多信息。

WAP的学习

wap的学习曲线较低,类似于html和jsp。我们可以参考W3CSchool的教程来学习。具体的网址为:

http://www.w3school.com.cn/wap/index.asp

WAP前台

wap前台是一个wml文件,有一定的页面规范。可以参看一个页面,其主要功能为:显示下拉框,点击查询后请求后台Servlet,在后台截获参数,并输出。代码如下:

<?xml version='1.0'?> <DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="Order" title="Query Inventory"> <p> <select name="Items" title="Items"> <option value="Books">Books</option> <option value="Music">Music</option> <option value="Video">Video</option> <option value="Software">Software</option> </select> </p> <do type="accept" label="Query"> <go href="http://localhost:8080/TestWap/wapservlet" method="get"> <postfield name="Items" value="$(Items)"/> </go> </do> </card> </wml>

WAP和JSP结合

结合的原因主要是利用jsp的语法来进行页面的展现也就是使用(<% %>)。首先建立jsp页面,修改该页面,加入如下信息:

<?xml version="1.0"?> <%@page contentType="text/vnd.wap.wml; charset=utf-8"%> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

或者

<%@page contentType="text/vnd.wap.wml; charset=gb2312"%><?xml version="1.0"?>//这里不能换行 <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

通过结合jsp后,我们就可以使用jsp的语法进行页面上简单的逻辑处理,跟纯的jsp页面是一样的,不过是在jsp页面中嵌入了wap内容,并指定上下文类型为wap。


Servlet后台

package com.bj.test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class WapServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String select = request.getParameter("Items"); System.out.println(select); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }


Web.xml中配置

<servlet> <servlet-name>Wapservlet</servlet-name> <servlet-class>com.bj.test.WapServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Wapservlet</servlet-name> <url-pattern>/wapservlet</url-pattern> </servlet-mapping>


总结

wap只是一种手机上页面,同html,jsp,asp的理解上可以认为一致(它们的确不同)。那么这样我们就可以将jsp,html中技术完全迁移到wap上,例如:jstl,velocity等等页面渲染引擎。学会知识的迁移。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值