项目简介
基于Servlet+jsp的图书信息管理系统;
功能简单,适合学习以及大作业等,jsp页面,form表单提交数据,对图书信息进行增删改成操作
使用MVC设计模式开发
项目获取
开发环境
运行环境:推荐jdk1.8;
开发工具:eclipse以及idea(推荐);
操作系统:windows 10 8G内存以上(其他windows以及macOS支持,但不推荐);
浏览器:Firefox(推荐)、Google Chrome(推荐)、Edge;
数据库:MySQL8.0(推荐)及其他版本(支持,但容易异常尤其MySQL5.7(不含)以下版本);
数据库可视化工具:Navicat Premium 15(推荐)以及其他Navicat版本
是否maven项目:否
项目技术
后端:mysql、jdbc、servlet
前端:jsp
相关代码
- JDBC链接数据库(DBUtil.java)
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 数据库连接工具
*/
public class DBUtil {
public static String db_url = "jdbc:mysql://localhost:3306/book?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
public static String db_user = "root";
public static String db_pass = "123456";
public static Connection getConn () {
Connection conn = null;
try {
//Class.forName("com.mysql.jdbc.Driver");// mysql5.7以下加载驱动
Class.forName("com.mysql.cj.jdbc.Driver"); //mysql5.7及以上 还得修改WebContent下WEB-INF下lib中的mysql链接包 下载一个8.x的jar包代替即可
conn = DriverManager.getConnection(db_url, db_user, db_pass);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* 关闭连接
* @param state
* @param conn
*/
public static void close (Statement state, Connection conn) {
if (state != null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close (ResultSet rs, Statement state, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (state != null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
- Servlet层代码(BookServlet.java)
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.Books;
import dao.BookDao;
@WebServlet(name="/BookServlet",urlPatterns="/book")
public class BookServlet extends HttpServlet {
//所有请求都会走这个接口,根据接口后面的参数不一样,走不同的处理接口
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");// 放在第一行
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=UTF-8");
String method = request.getParameter("method");
BookDao ud = new BookDao();
switch (method) {
case "delete":
Integer id = Integer.parseInt(request.getParameter("id"));
ud.delete(id);
response.sendRedirect("index.jsp");
break;
case "addPage":
request.getRequestDispatcher("add.jsp").forward(request, response);
break;
case "add":
add(request,response);
break;
case "editPage":
updatePage(request,response);
break;
case "update":
update(request,response);
break;
default:
break;
}
}
//修改接口
private void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String authon = request.getParameter("authon"); //作者
String name = request.getParameter("name"); //书名
Integer num = Integer.parseInt(request.getParameter("num")); //数量
Integer id = Integer.parseInt(request.getParameter("id")); //主键id
Double price = Double.parseDouble(request.getParameter("price")); //价格
Books book = new Books();
book.setAuthon(authon);
book.setId(id);
book.setName(name);
book.setNum(num);
book.setPrice(price);
BookDao ud = new BookDao();
ud.update(book, id);
response.sendRedirect("index.jsp");
}
//跳转到修改页面
private void updatePage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
BookDao ud = new BookDao();
Books book = ud.getById(id);
request.setAttribute("book",book);
request.getRequestDispatcher("updata.jsp").forward(request, response);
}
//新增接口
private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String authon = request.getParameter("authon"); //作者
String name = request.getParameter("name"); //书名
Integer num = Integer.parseInt(request.getParameter("num")); //数量
Double price = Double.parseDouble(request.getParameter("price")); //价格
Books book = new Books();
book.setAuthon(authon);
book.setName(name);
book.setNum(num);
book.setPrice(price);
BookDao ud = new BookDao();
ud.add(book);
response.sendRedirect("index.jsp");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
运行截图
本文含有隐藏内容,请 开通VIP 后查看