虽然我们已经可以开发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/ewap/wapservlet" method="get">
    <postfield name="Items" value="$(Items)"/>
   </go>
  </do>
 </card>
</wml>
用户可以从列表中选择Item,通过无线网络传输给服务器后Servlet通过request.getParameter()方法得到用户的选择并发送给用户,servlet的代码如下:

package com.j2medev.mingjava;

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");
        response.setContentType("text/vnd.wap.wml");
        PrintWriter out = response.getWriter();
        out.println("<?xml version=/"1.0/"?>");
        out.println("<!DOCTYPE wml PUBLIC/"-//WAPFORUM//DTD WML 1.1//EN/"");
        out.println("/"http://www.wapforum.org/DTD/wml_1.1.xml/">");
        out.println("<wml>");
        out.println("<card title=/"test/">");
        out.println(" <p align=/"center/">");
        out.println("you selected "+select);
        out.println("</p>");
        out.println("</card>");
        out.println("</wml>");

}

protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException
    {
        doGet(request,response);
    }
}

web.xml中配置
 <servlet>
  <servlet-name>Wapservlet</servlet-name>
  <servlet-class>beans.WapServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>Wapservlet</servlet-name>
  <url-pattern>/wapservlet</url-pattern>
 </servlet-mapping>

wml 与服务器交互相关推荐

  1. kazoo源码分析:服务器交互的实现细节

    kazoo源码分析 kazoo-2.6.1 kazoo客户端与服务器概述 上文start概述中,只是简单的概述了kazoo客户端初始化之后,调用了start方法,本文继续详细的了解相关的细节. kaz ...

  2. 与服务器交互的分页组件PageComponent

    2019独角兽企业重金招聘Python工程师标准>>> Ext.define('tools.PageComponent', {extend : 'Ext.Container',req ...

  3. 你还不会小程序啊?手把手带你做第一个和服务器交互的小程序

    2017年的时候,腾讯推出了微信小程序,当时火的一塌糊涂,圈子里几乎所有的程序员都在讨论小程序的话题:随着腾讯对小程序的功的逐步开放,2018年,尤其是在微信首页下拉增加小程序入口之后,小程序正式爆发 ...

  4. Android 使用JSON格式与服务器交互 中文乱码问题解决

    Android 使用JSON格式与服务器交互 中文乱码问题解决 参考文章: (1)Android 使用JSON格式与服务器交互 中文乱码问题解决 (2)https://www.cnblogs.com/ ...

  5. Android之使用HttpPost提交数据到服务器(Android手机客户端和后台服务器交互)

    这是一个小型的数据交互案例,即Android手机客户端和后台服务器交互(数据库mysql) 服务器端 首先服务器端数据库(用户名root密码123456),db_student.sql数据库表user ...

  6. 系统服务器与手机关系,手机与云服务器交互

    手机与云服务器交互 内容精选 换一换 购买弹性云服务器选错镜像,可以通过云平台的"切换操作系统"功能更换镜像.选择待切换操作系统的弹性云服务器,单击弹性云服务器列表左上角的&quo ...

  7. 客户端与服务器交互的功能,如何进行测试?

    测试客户端与服务器交互的功能,如何进行测试,需要考虑哪些内容呢?下面我们分阶段来说明一下~ 测试沟通阶段 需要跟客户端和服务器端开发沟通,确定客户端发送请求的样式,需要包含哪些参数值,参数值具体有什么 ...

  8. 如何使用Ajax进行与服务器交互

    @如何使用Ajax 如何使用Ajax进行与服务器交互 AJAX全称为"Asynchronous [ei'siŋkrənəs] JavaScript and XML"(异步JavaS ...

  9. AutoPostBack属性值为True和False的含义 (即为和不和服务器交互)

    AutoPostBack属性值为True和False的含义 检举 | 2010-6-3 17:22 提问者:一过眼云烟一 许多控件都有AutoPostBack属性,请分别解释该属性值为True和Fal ...

最新文章

  1. TFIDF的简单解释
  2. guava-cache设计与实现
  3. php 检测密码,php检测密码强度
  4. QT的QFileSystemModel类的使用
  5. 一台电脑上同启动两个Tomcat的方式,windows/Linux配置。
  6. 2060. 同源字符串检测
  7. Linux篇:Shell脚本实现Gitlab双备份
  8. 使用u盘安装windows7、CentOS6.3双系统
  9. 在Windows下搭建Vue开发环境
  10. linux根据文件内容查找文件名,linux在当前目录下根据文件名查找文件
  11. 有哪些免费批量删除PDF文档的页码的方法
  12. 面向对象:兜兜转转了很久,希望你恰好也在
  13. ASP.NET 安全认证(一)—— 如何运用 Form 表单认证 (摘自 http://blog.csdn.net/cityhunter172)
  14. ioi 赛制_徐明宽IOI2017参赛总结及他的信息学竞赛之路
  15. macOS 原生系统压缩文件在 Windows 上解压可能会乱码的原因及解决办法
  16. Kafka系列 —— 生产实践分享
  17. 学it中的python怎么样_长安大专网教学历
  18. python时间函数纳秒_python – 获取纳秒级精度的文件修改时间
  19. 语音降噪/语音增强的几种算法
  20. Lq93:复原 IP 地址

热门文章

  1. bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, in
  2. 金融知识国民读本(一)
  3. 四色定理 - 从时序着色法到四色定理的逻辑证明
  4. 自动驾驶汽车的库尔雪维尔测试是不可能的挑战
  5. 从控制台输入两个英文字母,输出这两个英文字母之间的所有的字母(包含大小写)
  6. 记录更换固态硬盘免重装系统和环境的操作
  7. TIA博途中如何通过PLC变量控制开始和停止记录数据?
  8. JavaScript变量
  9. 人文思考与科研探索之管锥篇
  10. 学习笔记:cnn 猫狗识别