可以先想象一下,客户端用到远程数据库中的信息比如Menu表中的信息,怎么获取呢?可以通过web服务器获取。这就需要写一个继承
HttpServlet的抽象类,并且重写doGet()和doPost()方法。
下面就是此类的具体实现:
public class UpdateMenuServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
// 构造方法
public UpdateMenuServlet() {
super();
}
// 销毁方法
public void destroy() {
super.destroy();
}
// 响应Get请求
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
// 实例化dao
UpdateDao dao = new UpdateDaoImpl();
// 获得菜谱列表
List
// 拼XML格式数据
out.println("<?xml version='1.0' encoding='UTF-8'?>");
// 根节点
out.println("");
for (int i = 0; i
Menu m = list.get(i);
out.println("
// 菜谱编号
out.print("");
out.print(m.getId());
out.println("");
// 分类
out.print("");
out.print(m.getTypeId());
out.println("");
// 名称
out.print("");
out.print(m.getName());
out.println("");
// 图片路径
out.print("");
out.print(m.getPic());
out.println("");
// 价格
out.print("");
out.print(m.getPrice());
out.println("");
// 备注
out.print("");
out.print(m.getRemark());
out.println("");
out.println("
");}
out.println("");
out.flush();
out.close();
}
// 响应Post请求
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
// 初始化方法
public void init() throws ServletException {
}
}
在浏览器中输入正确的URL会看到浏览器端出现的信息如下:
-
-
1
1
水煮鱼
test
20
test
-
2
2
凉拌西红柿
tets
10
test
-
3
3
tofu
test
8
test