Servlet之实现增删改查操作与EL表达式
2015-09-19 15:30
543 查看
这个嘛...可以做很多变形,这里的操作主要针对作用域属性的值,实际应用中可以改为针对jdbc数据库的操作。
先看看EL表达式
用于测试的javabean
监听器,用于初始化作用域中dogList属性
这里没有对中文乱码进行处理
先看看EL表达式
<%@ page language="java" import="java.util.*,test.lindl.bean.Dog" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> request: <%=request%><br> response: <%=response%><br> page: <%=page%><br> pageContext: <%=pageContext%><br> out: <%=out%><br> session: <%=session%><br> application: <%=application%><br> config: <%=config%><br> page: <%=page%><br> ******************************************** <% pageContext.setAttribute("p1", new Dog(1,"dog1")); request.setAttribute("p2", new Dog(2,"dog2")); session.setAttribute("p3", new Dog(3,"dog3")); application.setAttribute("p4", new Dog(4,"dog4")); Cookie cookie=new Cookie("cKey","cValue"); response.addCookie(cookie); %> <br> ${pageScope.p1.name } <br> ${requestScope.p2.name } <br> ${sessionScope.p3.name } <br> ${applicationScope.p4.name} <br> ${cookie } </body> </html>
用于测试的javabean
package test.lindl.bean; public class Dog { private int id; private String name; public Dog(int id, String name) { super(); this.id = id; this.name = name; } 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; } }增删改查Servlet
package test.lindl.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import test.lindl.bean.Dog; public class AddDogServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int id=Integer.parseInt(request.getParameter("id")); String name=request.getParameter("name"); Dog dog=new Dog(id, name); List<Dog> dogList=(List<Dog>) getServletContext().getAttribute("dogList"); dogList.add(dog); getServletContext().removeAttribute("dogList"); getServletContext().setAttribute("dogList", dogList); request.getRequestDispatcher("/dogList.jsp").forward(request, response); } }
package test.lindl.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import test.lindl.bean.Dog; public class DeleteDogServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int id=Integer.parseInt(request.getParameter("id")); // List<Dog> dogList=(List<Dog>) request.getAttribute("dogList"); List<Dog> dogList=(List<Dog>) getServletContext().getAttribute("dogList"); for(int i=0;i<dogList.size();i++){ if(dogList.get(i).getId()==id){ dogList.remove(i); } } getServletContext().removeAttribute("dogList"); getServletContext().setAttribute("dogList", dogList); request.getRequestDispatcher("/dogList.jsp").forward(request, response); } }
package test.lindl.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import test.lindl.bean.Dog; public class UpdateDogServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int id=Integer.parseInt(request.getParameter("id")); String name=request.getParameter("name"); List<Dog> dogList=new ArrayList<Dog>(); dogList=(List<Dog>) getServletContext().getAttribute("dogList"); for(Dog dog:dogList){ if(dog.getId()==id){ dog.setName(name); } } getServletContext().removeAttribute("dogList"); getServletContext().setAttribute("dogList", dogList); request.getRequestDispatcher("/dogList.jsp").forward(request, response); } }
package test.lindl.servlet; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import test.lindl.bean.Dog; public class DogListServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Dog> dogList=new ArrayList<Dog>(); dogList=null; request.setAttribute("dogList", dogList); request.getRequestDispatcher("/dogList.jsp").forward(request, response); } }
监听器,用于初始化作用域中dogList属性
import java.util.ArrayList; import java.util.List; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import test.lindl.bean.Dog; public class InitListener implements ServletContextListener { @Override public void contextDestroyed(ServletContextEvent arg0) { // TODO Auto-generated method stub } @Override public void contextInitialized(ServletContextEvent sce) { // TODO Auto-generated method stub List<Dog> dogList=new ArrayList<Dog>(); sce.getServletContext().setAttribute("dogList", dogList); } }
这里没有对中文乱码进行处理
相关文章推荐
- Qt获取网络信息
- 放空自己——空
- ubuntu 迅雷(xware desktop)
- cf 3C Tic-tac-toe(模拟)
- Sublime Text 3 搭建Python开发环境
- jqGrid入门
- 从0到100——知乎架构变迁史
- UIView 中autoresizingMask的属性
- 多媒体音量控制setVolumeControlStream(int streamType)
- nginx 提供静态内容
- 网站通常使用一些javascript包裹 简化电话
- 我的感想
- 并查集求解问题
- string[]初始化
- libevent之event
- IARforAVR中的EEPROM读写需要注意的小问题
- 美团2015 研发笔试 (2)
- 静态路由
- 美团2015 研发笔试 (2)
- 华为交换机常用命令