实现图书增删改查和分页显示图书信息

目录

列:实现图书增删改查和分页显示图书信息

效果截图:

添加图书​

分页显示

上传图片

修改

实现

导包

数据库连接

db.properties

UploadServlet图片上传

封装book数据

封装分页

BookDao.java 实现图书增删改查、分页

BookDaoImp.java 

BookService接口 实现增删改查、分页

BookServiceImpl

addbook.jsp添加和修改图书界面

BookAddServlet.java 提交添加的图书信息

booklist.jsp查询图书与分页显示界面

BookQueryAllServlet 查询数据和分页请求

BookEditServlet 点击修改时,获取要修改的图书id

updatebook.jsp 修改界面 在页面显示原有图书信息

BookUpdateServlet修改图书

BookDeleteServlet删除图书

TestBookManager测试类 添加图书


列:实现图书增删改查和分页显示图书信息

效果截图:

添加图书

分页显示

上传图片

修改

实现

导包

数据库连接

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

public class DBUTils {
	public static String driver;
	public static String url;
	public static String user;
	public static String password;
	public static Properties prop;
	static {
		try {
			prop = new Properties();
			prop.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));

			driver = prop.getProperty("driver");
			url = prop.getProperty("url");
			user = prop.getProperty("username");
			password = prop.getProperty("password");
			System.out.println(
					"driver" + driver + "\n" + "url" + url + "\n" + "username" + user + "\n" + "password" + password);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
	public static Connection getConn() {
		try {
			Class.forName(driver);
			Connection conn = DriverManager.getConnection(url, user, password);
			System.out.println("conn" + conn);
			return conn;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return null;
	}
}

db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/00web?characterEncoding=UTF-8
username=root
password=123

UploadServlet图片上传

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

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

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.demo.po.Book;
import com.demo.service.BookService;
import com.demo.service.BookServiceImpl;

import sun.nio.ch.FileKey;

/**
 * Servlet implementation class UploadServlet
 */

public class UploadServlet  extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private BookService bookService=new BookServiceImpl();
	/**
	 * 解析上传的图片路径 图片的信息
	 */
	// aaa.do
	protected void doPost(HttpServletRequest request, HttpServletResponse resp) throws IOException, ServletException {
		request.setAttribute("message", "");
		request.setAttribute("path", "");
		String path;
		String filename = null;
		// 设置上传图片的保存路径
		String savePath = this.getServletContext().getRealPath("/images");
		File file = new File(savePath);
		// 判断上传文件的保存目录是否存在
		if (!file.exists() && !file.isDirectory()) {
			System.out.println(savePath + "目录不存在,需要创建");
			// 创建目录
			file.mkdir();
		}
		DiskFileItemFactory factory = new DiskFileItemFactory();
		// 2、创建一个文件上传解析器
		ServletFileUpload upload = new ServletFileUpload(factory);
		upload.setHeaderEncoding("UTF-8");
		// 3、判断提交上来的数据是否是上传表单的数据
		if (!ServletFileUpload.isMultipartContent(request)) {
			// 按照传统方式获取数据
			return;
		} 
		try {
			List<FileItem> list = upload.parseRequest(request);
			System.out.println("----list"+list.toString());// 文件的路径 以及保存的路径
			for (FileItem item : list) {
				filename = item.getName();// 获得一个项的文件名称
				if (filename == null || filename.trim().equals("")) {// 如果為空則跳過
					continue;
				}
				// 報錯 需要過濾文件名稱 java.io.FileNotFoundException:
				// G:\测试02\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\FaceUp\WEB-INF\images\C:\Users\Ray\Pictures\2.jpeg
				// (文件名、目录名或卷标语法不正确。)

				filename = filename.substring(filename.lastIndexOf("\\") + 1);
//					System.out.print(filename);
				if (filename.substring(filename.lastIndexOf(".") + 1).equals("png")
						|| filename.substring(filename.lastIndexOf(".") + 1).equals("jpg")
						|| filename.substring(filename.lastIndexOf(".") + 1).equals("jpeg")) {
					
					InputStream in = item.getInputStream();// 获取上传的输入流
					FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);// 指 定web-inf目錄下的images文件
					request.setAttribute("path", "images" + "\\" + filename);
					System.out.println("-------图片的路径:"+savePath+ "\\" + 
  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值