Servlet学习(二)__session管理__隐藏域
来源:互联网 发布:仿中华养生网源码 编辑:程序博客网 时间:2024/06/05 11:31
Servlet学习(二)__session管理__隐藏域
下面的示例通过隐藏域传递一个id值,修改某个值。
一.javabean代码.
package com.cdc.servlettest.bean;public class Customer { private int id; private String name; private String city; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCity() { return city; } public void setCity(String city) { this.city = city; }}
二.servlet代码。
package com.cdc.servlettest.servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.cdc.servlettest.bean.Customer;/* * Not thread-safe. For illustration purpose only */@WebServlet(name = "CustomerServlet", urlPatterns = { "/customer", "/editCustomer", "/updateCustomer"})public class CustomerServlet extends HttpServlet { private static final long serialVersionUID = -20L; private List<Customer> customers = new ArrayList<Customer>(); @Override public void init() throws ServletException { Customer customer1 = new Customer(); customer1.setId(1); customer1.setName("张飞"); customer1.setCity("成都"); customers.add(customer1); Customer customer2 = new Customer(); customer2.setId(2); customer2.setName("刘备"); customer2.setCity("西安"); customers.add(customer2); } private void sendCustomerList(HttpServletResponse response) throws IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); writer.println("<html><head><title>客户</title></head>" + "<body><h2>客户 </h2>"); writer.println("<ul>"); /**从初始化的集合里取出数据,显示在界面上。*/ for (Customer customer : customers) { writer.println("<li>" + customer.getName() + "(" + customer.getCity() + ") (" + "<a href='editCustomer?id=" + customer.getId() + "'>修改</a>)"); } writer.println("</ul>"); writer.println("</body></html>"); } /****通过id值获取相应的记录*/ private Customer getCustomer(int customerId) { for (Customer customer : customers) { if (customer.getId() == customerId) { return customer; } } return null; } private void sendEditCustomerForm(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); int customerId = 0; try { /**接收通过url重写传递过来的参数id的值**/ customerId = Integer.parseInt(request.getParameter("id")); } catch (NumberFormatException e) { } Customer customer = getCustomer(customerId); /***此表单通过post提交后,将调用此Servlet的doPost方法*/ if (customer != null) { writer.println("<html><head>" + "<title>修改客户资料</title></head>" + "<body><h2>修改客户资料</h2>" + "<form method='post' " + "action='updateCustomer'>"); /**隐藏域,传递id**/ writer.println("<input type='hidden' name='id' value='" + customerId + "'/>"); writer.println("<table>"); writer.println("<tr><td>姓名:</td><td>" + "<input name='name' value='" + customer.getName().replaceAll("'", "'") + "'/></td></tr>"); writer.println("<tr><td>城市:</td><td>" + "<input name='city' value='" + customer.getCity().replaceAll("'", "'") + "'/></td></tr>"); writer.println("<tr>" + "<td colspan='2' style='text-align:right'>" + "<input type='submit' value='Update'/></td>" + "</tr>"); writer.println("<tr><td colspan='2'>" + "<a href='customer'>客户列表</a>" + "</td></tr>"); writer.println("</table>"); writer.println("</form></body>"); } else { writer.println("没有此客户"); } } @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String uri = request.getRequestURI(); response.setCharacterEncoding("utf-8"); if (uri.endsWith("/customer")) { sendCustomerList(response); } else if (uri.endsWith("/editCustomer")) { sendEditCustomerForm(request, response); } } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // update customer response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); int customerId = 0; try { /***接收隐藏域传递过来的id值*/ customerId = Integer.parseInt(request.getParameter("id")); } catch (NumberFormatException e) { } Customer customer = getCustomer(customerId); if (customer != null) { customer.setName(request.getParameter("name")); customer.setCity(request.getParameter("city")); } sendCustomerList(response); }}
- Servlet学习(二)__session管理__隐藏域
- [Servlet]会话管理的概念、隐藏域、Cookie、URL重写
- spserver学习之二__网络通讯模型
- android学习笔记(二)__系统框架
- OpenCV学习笔记(1)__隐藏 Console 窗口
- OpenCV学习笔记(1)__隐藏 Console 窗口
- 【servlet学习二】:实现servlet
- servlet(二)--session管理---cookie
- Servlet(二)--session管理--HttpSession
- servlet学习笔记(二)
- Servlet学习二
- Servlet学习笔记(二)
- Java Servlet学习二
- servlet学习笔记(二)
- servlet 学习二
- servlet学习笔记二
- Servlet学习(二)
- servlet 学习(二)
- #面试题#前伸后缩法
- 一起来探讨Linux中fork与mutex的混合使用
- IOS 学习之 限定UITEXTField输入字数
- C/C++ 多线程学习心得
- apache2.2.5配置
- Servlet学习(二)__session管理__隐藏域
- 栈队数据结构全集
- Hadoop Writable深度复制及读取任意<key,value>序列文件
- Linux学习笔记(一)----Shell
- 【FPGA学习】Verilog之加法器
- Centos环境下部署游戏服务器-自动化
- C语言中的经典问题之数组
- Mac 安装opencv教程
- 《鸟哥的Linux私房菜》读书笔记五