package cn.jbit.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 cn.jbit.dao.BookManageDao; import cn.jbit.dao.impl.BookManageDaoImpl; import cn.jbit.entity.BookManage; public class SearchServlet extends HttpServlet { public SearchServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //调用 doPost() 方法,使其同步 doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接收时设置的编码 request.setCharacterEncoding("utf-8"); //转发时设置的编码 response.setCharacterEncoding("utf-8"); //以 超文本格式 方式转发 response.setContentType("text/html"); //获取了一个输出流 PrintWriter out = response.getWriter(); //向下转型 BookManageDao dao = new BookManageDaoImpl(); //接收 id String id = request.getParameter("id"); //没点击修改链接,则 id 为空 if(id==null || id.equals("")){ //查询所有图书列表 List<BookManage> list = dao.list(); //保存内容,和重新命名 request.setAttribute("list",list); //进入list.jsp,request里有参数,response为转发 request.getRequestDispatcher("list.jsp").forward(request, response); }else{ //查询一个图书对象 int bid = Integer.parseInt(id); //保存内容,和重新命名 request.setAttribute("item", dao.select(bid)); //进入update.jsp,request里有参数,response为转发 request.getRequestDispatcher("update.jsp").forward(request, response); } //关闭输出流 out.flush(); out.close(); } public void init() throws ServletException { } }
package cn.jbit.servlet; 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; import cn.jbit.dao.BookManageDao; import cn.jbit.dao.impl.BookManageDaoImpl; import cn.jbit.entity.BookManage; public class AddServlet extends HttpServlet { public AddServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //调用 doPost()方法 doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接收时设置的编码 request.setCharacterEncoding("utf-8"); //转发时设置的编码 response.setCharacterEncoding("utf-8"); //以 超文本格式 方式转发 response.setContentType("text/html"); //获取了一个输出流 PrintWriter out = response.getWriter(); //接收数据 String name = request.getParameter("name"); String author = request.getParameter("author"); String time = request.getParameter("time"); String type = request.getParameter("type"); //封装数据到 BookManage 对象中 BookManage item = new BookManage(0,name,author,time,type); //向下转型 BookManageDao dao = new BookManageDaoImpl(); //要把 dao.Add() 返回的结果来判断 if(dao.Add(item)>0){ //添加成功给出提示,返回列表页面 out.print("<script>alert('添加图书成功');location.href='search';</script>"); }else{ //添加失败给出提示,返回添加面 out.print("<script>alert('添加图书失败');location.href='add.jsp';</script>"); } //关闭输出流 out.flush(); out.close(); } public void init() throws ServletException { } }
package cn.jbit.servlet; 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; import cn.jbit.dao.BookManageDao; import cn.jbit.dao.impl.BookManageDaoImpl; import cn.jbit.entity.BookManage; public class UpdateServlet extends HttpServlet { public UpdateServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接收时设置的编码 request.setCharacterEncoding("utf-8"); //转发时设置的编码 response.setCharacterEncoding("utf-8"); //以 超文本格式 方式转发 response.setContentType("text/html"); //获取了一个输出流 PrintWriter out = response.getWriter(); //接收 id String id = request.getParameter("id"); //接收 name String name = request.getParameter("name"); //接收 author String author = request.getParameter("author"); //接收 time String time = request.getParameter("time"); //接收 type String type = request.getParameter("type"); //封装数据到 BookManage 对象中 BookManage item = new BookManage(Integer.parseInt(id),name,author,time,type); //向下转型 BookManageDao dao = new BookManageDaoImpl(); //根据修改结果返回提示 if(dao.update(item)>0){ //添加成功给出提示,返回列表页面 out.print("<script>alert('修改图书成功');location.href='search';</script>"); }else{ //添加失败给出提示,返回添加面 out.print("<script>alert('修改图书失败');history.back();</script>"); } //关闭输出流 out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //调用 doGet() 方法,使其同步 doGet(request, response); } public void init() throws ServletException { } }
package cn.jbit.servlet; 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; import cn.jbit.dao.BookManageDao; import cn.jbit.dao.impl.BookManageDaoImpl; import cn.jbit.entity.BookManage; public class DeleteServlet extends HttpServlet { public DeleteServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接收时设置的编码 request.setCharacterEncoding("utf-8"); //转发时设置的编码 response.setCharacterEncoding("utf-8"); //以 超文本格式 方式转发 response.setContentType("text/html"); //获取了一个输出流 PrintWriter out = response.getWriter(); //接收 id String id = request.getParameter("id"); //向下转型 BookManageDao dao = new BookManageDaoImpl(); //根据 id 删除数据 dao.delete(Integer.parseInt(id)); //location 跳转到 search 页面 out.print("<script>location.href='search';</script>"); //关闭输出流 out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //调用 doGet() 方法 doGet(request, response); } public void init() throws ServletException { } }
web配置信息如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <servlet> <servlet-name>SearchServlet</servlet-name> <servlet-class>cn.jbit.servlet.SearchServlet</servlet-class> </servlet> <servlet> <servlet-name>AddServlet</servlet-name> <servlet-class>cn.jbit.servlet.AddServlet</servlet-class> </servlet> <servlet> <servlet-name>UpdateServlet</servlet-name> <servlet-class>cn.jbit.servlet.UpdateServlet</servlet-class> </servlet> <servlet> <servlet-name>DeleteServlet</servlet-name> <servlet-class>cn.jbit.servlet.DeleteServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SearchServlet</servlet-name> <url-pattern>/search</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AddServlet</servlet-name> <url-pattern>/add</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdateServlet</servlet-name> <url-pattern>/update</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DeleteServlet</servlet-name> <url-pattern>/delete</url-pattern> </servlet-mapping> </web-app>