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>