首页 > 其他 > 详细

第2个练习

时间:2020-12-21 09:12:10      阅读:21      评论:0      收藏:0      [点我收藏+]

图书管理系统,可以在浏览器中对书籍信息进行,显示、添加、删除、修改

JSP + Servlet + JDBC + MySQL,SVN版本管理

最终效果图

技术分享图片

 

 

MySQL数据库

技术分享图片

 

项目

技术分享图片

 

dao层

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;

import entity.Book;
import servlet.DeleteServlet;
import tool.JDBCUtilsConfig;

public class BookDao {
	private Connection con = JDBCUtilsConfig.getConnection();
	
	public void update(int id, String name) {
		try {
			String sql = "UPDATE booklist SET book_name=? WHERE book_id=?";
			PreparedStatement pst = con.prepareStatement(sql);
			pst.setObject(1, name);
			pst.setObject(2, id);
			pst.executeUpdate();
		} catch (SQLException ex) {
			System.out.println(ex);
			throw new RuntimeException("修改失败");
		}
	}
	
	public void add(int id,String name) {
		try {
			String sql = "INSERT INTO booklist (book_id,book_name) VALUES(?,?)";
			PreparedStatement pst = con.prepareStatement(sql);
			pst.setObject(1, id);
			pst.setObject(2, name);
			pst.executeUpdate();
		} catch (SQLException ex) {
			System.out.println(ex);
			throw new RuntimeException("添加失败");
		}
	}
	
	public void delete(int id){		
		try {
			String sql = "delete from booklist where book_id = ?";
			PreparedStatement pst = con.prepareStatement(sql);
			pst.setObject(1, id);
			pst.executeUpdate();
		} catch (SQLException ex) {
			System.out.println(ex);
			throw new RuntimeException("删除失败");
		}
	}

	public List<Book> selectAll() {
		try{
			PreparedStatement pst = con.prepareStatement("SELECT * FROM booklist");
			ResultSet rs = pst.executeQuery();
			List<Book> list = new ArrayList<Book>();
			while(rs.next()){
				Book book = new Book(rs.getInt("book_id"),rs.getString("book_name"));
				list.add(book);
			}
			return list;
		}catch(SQLException ex){
			System.out.println(ex);
			throw new RuntimeException("查询所有失败");
		}
	}
}

 

连接数据库的工具类

package tool;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class JDBCUtilsConfig {
	private static Connection con ;
	private static String driverClass;
	private static String url;
	private static String username;
	private static String password;
	
	static{
		try{
			readConfig();
			Class.forName(driverClass);
			con = DriverManager.getConnection(url, username, password);
		}catch(Exception ex){
			throw new RuntimeException("数据库连接失败");
		}
	}
	
	private static void readConfig()throws Exception{
		InputStream in = JDBCUtilsConfig.class.getClassLoader().getResourceAsStream("database.properties");
		 Properties pro = new Properties();
		 pro.load(in);
		 driverClass=pro.getProperty("driverClass");
		 url = pro.getProperty("url");
		 username = pro.getProperty("username");
		 password = pro.getProperty("password");
	}
	
	public static Connection getConnection(){
		return con;
	}
}

 

database.properties 配置中的数据库信息

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/bookrack
username=root
password=root

 

entity

package entity;

public class Book {
	private int book_id;
	private String book_name;
	
	public Book() {
		super();
	}
	
	public Book(int book_id) {
		super();
		this.book_id = book_id;
	}

	public Book(int book_id, String book_name) {
		super();
		this.book_id = book_id;
		this.book_name = book_name;
	}

	public int getBook_id() {
		return book_id;
	}

	public void setBook_id(int book_id) {
		this.book_id = book_id;
	}

	public String getBook_name() {
		return book_name;
	}

	public void setBook_name(String book_name) {
		this.book_name = book_name;
	}

	@Override
	public String toString() {
		return "Book [book_id=" + book_id + ", book_name=" + book_name + "]";
	}
}

 

Servlet层 查询功能 

package servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BookDao;
import entity.Book;

public class BookServlet extends HttpServlet {
	
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		BookDao bookdao = new BookDao();
		List<Book> list = bookdao.selectAll();
		request.setAttribute("list", list);
		request.getRequestDispatcher("book.jsp").forward(request, response);
	}
	
	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

 

JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>图书管理系统界面</title>
</head>
<body>
	<form name="myForm" action="/book2/AddServlet" method="post">
		book_id: <input type="text" name="book_id">
		book_name: <input type="text" name="book_name">
		<input type="submit" value="添加">
	</form>
	
	<table width="100%" border=1>
	 <tr>
		<td>序号</td>
		<td>书名</td>
		<td><a >操作</a></td>
	 </tr>
	 
	 <tr>
		<c:forEach items="${list }" var="list">
		<tr>
			<td>${list.book_id }</td>
			<td>${list.book_name }</td> <br>
			<td>
				<a href="${pageContext.request.contextPath }/update.jsp">修改</a>
				<a href="${pageContext.request.contextPath }/DeleteServlet?    id=${list.book_id}">删除</a>
			</td>
		</tr>
		</c:forEach>
	 </tr>	
	</table>
	
</body>
</html> 

 

添加功能

package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BookDao;

public class AddServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		String bookid = request.getParameter("book_id");
		int id = Integer.parseInt(bookid);
		String name = request.getParameter("book_name");
		BookDao bookdao = new BookDao();		
		bookdao.add(id,name);
		response.sendRedirect("BookServlet");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

 

删除功能

package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BookDao;

public class DeleteServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String staffdepartment = request.getParameter("id");
		int i=Integer.parseInt(staffdepartment);
		BookDao bookdao = new BookDao();		
		bookdao.delete(i);
		response.sendRedirect("BookServlet");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

 

修改功能

package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BookDao;

public class DeleteServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String staffdepartment = request.getParameter("id");
		int i=Integer.parseInt(staffdepartment);
		BookDao bookdao = new BookDao();		
		bookdao.delete(i);
		response.sendRedirect("BookServlet");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

 

修改时,提交数据的页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改页面</title>

</head>
<body>
	<form name="myForm" action="/book2/UpdateServlet" method="post">
		book_id: <input type="text" name="book_id">
		book_name: <input type="text" name="book_name">
		<input type="submit" value="提交">
	</form>
</body>
</html>

第2个练习

原文:https://www.cnblogs.com/H742/p/14166232.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!