您的位置:首页 > 其它

使用servlet开发动态wap的一个简单例子

2008-12-31 09:44 756 查看
如果我们要开发和服务器交互的功能呢?答案当然是我们可以使用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://222.28.218.222:8088/wap/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);
}
}
正确部署Servlet和wml文件后,在winwap下输入http://222.28.218.222:8088/test2.wml 确认后就可以看到you selected xxxx的内容了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: