servlet 和 web配置

本文介绍了一个简单的图书管理系统,包括增删改查等基本操作。系统通过Servlet处理HTTP请求,并使用DAO模式进行数据访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值