JAVA项目实战图书管理系统用户查询功能Servlet+Jsp+Mysql
Posted Ali.s
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA项目实战图书管理系统用户查询功能Servlet+Jsp+Mysql相关的知识,希望对你有一定的参考价值。
🚀个人主页:欢迎访问Ali.s的首页
⏰ 最近更新:2022年7月25日
⛽ Java框架学习系列:【Spring】【SpringMVC】【Mybatis】
🔥 Java项目实战系列:【飞机大战】【图书管理系统】
⛳ Java基础学习系列:【继承】【封装】【多态】
🏆 通信仿真学习系列:【硬件】【通信】【MATLAB】
🍄 个人简介:通信工程本硕🌈、Java程序员🚴。目前只会CURD😂
💌 点赞 👍 收藏 💗留言 💬 都是我最大的动力💯
文章目录
前言
这里是【JAVASE】
项目实战的第一节课,学习完mysql
、Jsp
、Servlet
之后本该就完成该项目,由于后面进入了框架的学习,内容比较多,所以没有做SE阶段的项目,从今天开始,就来完成一下利用Servlet
实现web
的项目。想了一下还是做个非常常见的图书管理系统,复习下前面的知识。项目定位为非商用项目,仅适合学习和毕业设计使用。
一、技术选型
工具 | 版本 |
---|---|
JDK | 8 |
Tomcat | 8.5 |
MySQL | 8.0 |
IDEA | 2021.3 |
Navicat | 8.0 |
Maven | 2.0 |
二、创建Web项目
1.创建工程
打开IDEA
软件,创建一个新的工程,然后在工程下面创建web
项目。刚开始创建的可能不是web
项目,需要在项目结构中转为web
项目。转web
项目具体操作如下:
选择Facets
后添加web
门面
将web
项目进行打包,方便加载到服务器,选择Artifacts
后进行添加
点击Apply
和OK
后,此时的项目就是web
项目了。主要目录结构如下:
2.配置Tomcat
首先找到IDEA
中类似绿色锤子的地方,然后点击进行配置。
点击+
,找到Tomcat server
,选择Local
下面进行一些基本信息的配置,这里的JRE
一般选默认1.8
如果是第一次配置Tomcat
,需要注意上面的第5步
,目录的选择不要包含中文路径
3.将web项目打包到Tomcat
继续在上面的第7步
页面,将web
项目打包到Tomcat
点击Apply
和OK
后,此时的项目就是web
项目就部署到Tomcat
服务器。
三、创建数据库
在数据库管理工具Navicat
中创建一个book
数据库,然后在book
数据库中创建一系列的表,操作如下:
在t_user
表中设计字段如步骤5,然后向表中添加几条数据。
四、静态资源引入
在网上找一套静态页面的模板,将其导入到webapp
包下面,便于后期美工页面的效果
五、实现用户信息查询
1.创建项目架构
该项目使用MVC
架构来实现,虽然没有使用到后面需要学的SpringMVC
框架的知识,但是其根本思想与其相同,均选用controller
、dao
、entity
、service
四层模型。
2.查询用户信息逻辑
查询用户信息的业务逻辑最主要用到Servlet
,Jsp
,DBUtils
,MySQL
技术和工具方法
3.查询用户信息实现
创建每个包对应的类以及实现的接口和方法。主要是实体类和控制器的Java
类和实现dao
层和service
层的接口以及连接数据库的工具DBUtils
类。
控制层:
package com.song.bookmanagersystem.controller;
import com.song.bookmanagersystem.entity.User;
import com.song.bookmanagersystem.service.UserService;
import com.song.bookmanagersystem.service.impl.UserServiceImpl;
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 java.io.IOException;
import java.util.List;
/**
* 用户的servlet
* 作用:接收请求,servlet进行处理,处理完毕后返回请求
*
*/
@WebServlet(name = "UserServlet",urlPatterns = "/userServlet")
public class UserServlet extends HttpServlet
//声明userService
private UserService userService=new UserServiceImpl();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
this.doPost(req, resp);
/**
* 具体统一处理请求
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
//通过service进行信息查询
List<User> list=userService.getUser(null);
//进行绑定
req.setAttribute("list",list);
//跳转请求
req.getRequestDispatcher("/user/user.jsp").forward(req,resp);
持久层:
package com.song.bookmanagersystem.dao.impl;
import com.song.bookmanagersystem.dao.UserDao;
import com.song.bookmanagersystem.entity.User;
import com.song.bookmanagersystem.utils.DBUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class UserDaoImpl implements UserDao
@Override
public List<User> list(User user)
//利用DBUtil实现数据库操作
QueryRunner queryRunner = DBUtils.getQueryRunner();
//创建sql
String sql="select * from t_user";
List<User> list=null;
try
//BeanListHandler无法完成
list = queryRunner.query(sql, new ResultSetHandler<List<User>>()
@Override
public List<User> handle(ResultSet resultSet) throws SQLException
List<User> list=new ArrayList<>();
while (resultSet.next())
User user=new User();
user.setId(resultSet.getInt("id"));
user.setUserName(resultSet.getString("user_name"));
user.setPassword(resultSet.getString("password"));
user.setEmail(resultSet.getString("email"));
user.setPhoneNum(resultSet.getString("phone_num"));
user.setSalt(resultSet.getString("salt"));
user.setIsDeleted(resultSet.getInt("is_deleted"));
list.add(user);
return list;
);
catch (SQLException e)
e.printStackTrace();
return list;
public static void main(String[] args)
UserDaoImpl userDao = new UserDaoImpl();
for (User user : userDao.list(null))
System.out.println(user);
实体层:
package com.song.bookmanagersystem.entity;
public class User
private Integer id;
private String userName;
private String password;
private String phoneNum;
private String email;
private String salt;
private Integer isDeleted;
public User()
public User(Integer id, String userName, String password, String phoneNum, String email, String salt, Integer isDeleted)
this.id = id;
this.userName = userName;
this.password = password;
this.phoneNum = phoneNum;
this.email = email;
this.salt = salt;
this.isDeleted = isDeleted;
public Integer getId()
return id;
public void setId(Integer id)
this.id = id;
public String getUserName()
return userName;
public void setUserName(String userName)
this.userName = userName;
public String getPassword()
return password;
public void setPassword(String password)
this.password = password;
public String getPhoneNum()
return phoneNum;
public void setPhoneNum(String phoneNum)
this.phoneNum = phoneNum;
public String getEmail()
return email;
public void setEmail(String email)
this.email = email;
public String getSalt()
return salt;
public void setSalt(String salt)
this.salt = salt;
public Integer getIsDeleted()
return isDeleted;
public void setIsDeleted(Integer isDeleted)
this.isDeleted = isDeleted;
业务层:
package com.song.bookmanagersystem.service.impl;
import com.song.bookmanagersystem.dao.UserDao;
import com.song.bookmanagersystem.dao.impl.UserDaoImpl;
import com.song.bookmanagersystem.entity.User;
import com.song.bookmanagersystem.service.UserService;
import java.util.List;
public class UserServiceImpl implements UserService
private UserDao userDao=new UserDaoImpl();
@Override
public List<User> getUser(User user)
//处理业务
return userDao.list(user);
数据库工具类:
package com.song.bookmanagersystem.utils;
import com.mysql.cj.jdbc.MysqlDataSource;
import org.apache.commons.dbutils.QueryRunner;
import javax.management.Query;
public class DBUtils
private static MysqlDataSource source;
static
source=new MysqlDataSource();
source.setUser("root");
source.setPassword("123456");
source.setUrl("jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false");
public static QueryRunner getQueryRunner()
return new QueryRunner(source);
六、启动服务器测试
启动服务器,让项目在服务器中运行,然后在网页进行查看查询到的数据信息,因为使用了静态模板,所以数据查询比较清楚,展现形式比较好。发现能成功查询到数据库中的用户信息,并且能够将查询到的数据返回到前端页面进行渲染。
总结
以上就是今天要讲的内容,本文创建了web
项目,使用【Servlet】
+【Jsp】
+【Mysql】
对用户信息进行了数据查询,并且将查询的信息返回到前端页面进行显示,能够很好的完成功能需求。
以上是关于JAVA项目实战图书管理系统用户查询功能Servlet+Jsp+Mysql的主要内容,如果未能解决你的问题,请参考以下文章
Java全栈web网页技术:16.书城项目实战五:图书的分页显示
Java全栈web网页技术:16.书城项目实战五:图书的分页显示
Java全栈web网页技术:16.书城项目实战五:图书的分页显示
项目实战 图书信息管理系统(Maven,mybatis)(第一个自己独立完成的项目)