您的位置:首页 > 其它

Servlet之实现增删改查操作与EL表达式

2015-09-19 15:30 543 查看
这个嘛...可以做很多变形,这里的操作主要针对作用域属性的值,实际应用中可以改为针对jdbc数据库的操作。

先看看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);
}

}


这里没有对中文乱码进行处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: