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等等頁面渲染引擎。學會知識的遷移。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章