基于javaweb的图书商城项目管理系统(java+jsp+bootstrap+servlet+mysql)

这是一个基于JavaWeb的图书商城项目管理系统,采用java+jsp+bootstrap+servlet+mysql技术栈。系统分为管理员和用户两个角色,包含登录、注册、图书管理、用户管理等功能,适合课程设计、大作业等场景。管理员可以进行订单管理、用户增删改查,用户可以浏览图书、购物、提交订单等。项目提供详细的操作指南和数据库配置。
摘要由CSDN通过智能技术生成

基于javaweb的图书商城项目管理系统(java+jsp+bootstrap+servlet+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220819205431

20220819205432

20220819205433

20220819205434

20220819205435

20220819205436

基于javaweb+mysql的图书商城项目管理系统(java+JSP+bootstrap+servlet+Mysql)

项目介绍

本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台;

管理员角色包含以下功能:

管理员角色,管理员登录,订单管理,增删改查用户,图书管理,图书类别管理等功能。

用户角色包含以下功能: 用户首页,查看分类,用户详情,用户注册,查看购物车,提交订单,查看订单,修改个人信息等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目:否;

技术栈

JSP+CSS+jQuery+bootstrap+mysql+servlet

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中src/utils/DBUtil.java配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/jsp_book_shop/ 登录 注:tomcat中配置项目路径必须为jsp_book_shop,否则会有异常; 用户账号/密码:user/123456 管理员账号/密码:admin/admin

用户管理控制层:

@WebServlet(“/UserServlet”)

public class UserServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public UserServlet() {

super();

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String opt = request.getParameter(“opt”);

String role = request.getParameter(“role”);

//判断是否为管理员操作

if(role!=null && role.equals(“3”)){

optByAdmin(request, response);

return;

//登录

if(opt.equals(“login”)){

login(request, response);

return;

//注册

else if(opt.equals(“register”)){

register(request, response);

return;

//是否登录验证

if(request.getSession().getAttribute(“user”)==null){

response.sendRedirect(“login.jsp”);

return;

//注销

if(opt.equals(“logout”)){

logout(request, response);

//修改信息

else if(opt.equals(“updateUser”)){

updateUser(request, response);

//进入个人中心

else if(opt.equals(“show”)){

show(request, response);

/**

  • 管理员操作

  • @param request

  • @param response

  • @throws ServletException

  • @throws IOException

*/

protected void optByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String opt = request.getParameter(“opt”);

//登录

if(opt.equals(“login”)){

loginByAdmin(request, response);

return;

//判断是否登录

Users user = (Users) request.getSession().getAttribute(“user”);

if(user==null || user.getUserRoleId()!=3){

response.sendRedirect(“admin/login.jsp”);

return;

//获取用户列表

if(opt.equals(“userlist”)){

userListByAdmin(request, response);

//退出

else if(opt.equals(“logout”)){

logoutByAdmin(request, response);

//删除用户

else if(opt.equals(“del”)){

delUserByAdmin(request, response);

//锁定用户

else if(opt.equals(“lock”)){

lockUserByAdmin(request, response);

//解锁用户

else if(opt.equals(“unlock”)){

unLockUserByAdmin(request, response);

//获取用户信息

else if(opt.equals(“show”)){

showUserByAdmin(request, response);

//编辑用户

else if(opt.equals(“edit”)){

editUserByAdmin(request, response);

//注册

else if(opt.equals(“add”)){

addUserByAdmin(request, response);

return;

/**

  • 用户登录

  • @param request

  • @param response

  • @throws ServletException

  • @throws IOException

*/

protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute(“cart”);

if(cart==null){

cart = new ShoppingCart();

//获取参数

String name = request.getParameter(“loginId”);

String pwd = request.getParameter(“loginPwd”);

//调用登录验证

UserDaoImpl dao = new UserDaoImpl();

Users user = dao.doLogin(name, pwd);

if(user!=null){

//将user对象存入session中,便于前台使用

request.getSession().setAttribute(“user”, user);

response.sendRedirect(“index.jsp”);

return;

}else{

response.sendRedirect(“login.jsp”);

return;

/**

  • 管理员登录

  • @param request

  • @param response

  • @throws ServletException

  • @throws IOException

*/

protected void loginByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute(“cart”);

if(cart==null){

cart = new ShoppingCart();

//获取参数

String name = request.getParameter(“loginId”);

String pwd = request.getParameter(“loginPwd”);

//调用登录验证

UserDaoImpl dao = new UserDaoImpl();

Users user = dao.doLoginByAdmin(name, pwd);

if(user!=null){

//将user对象存入session中,便于前台使用

request.getSession().setAttribute(“user”, user);

response.sendRedirect(“admin/index.jsp”);

return;

}else{

response.sendRedirect(“admin/login.jsp”);

return;

/**

  • 用户注销退出

  • @param request

  • @param response

  • @throws ServletException

  • @throws IOException

*/

protected void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//从session中获取用户信息

Users user = (Users) request.getSession().getAttribute(“user”);

if(user!=null){

request.getSession().

这个网上书城系统使用Eclipse开发的,代码完整,jar包齐全,sql脚本包含在里面,将下载下来的项目导入到Eclipse中即可运行,本项目做了很多校验,对可能出现的bug做了考虑,属于比较完善的系统。本系统包含九个模块,前台模块分为:用户模快,分类模块,图书模块,购物车模块,订单模块;后台模块分为:管理员模块,分类管理模快,图书管理模快,订单管理模块。书城界面简洁,易于操作,简单易懂,代码均有注释,各模块功能完善。各大模块的功能描述:前台: 1). 用户模块功能有: * 用户注册: > 表单页面是jQuery做校验(包含了ajax异步请求) # 在输入框失去焦点时进行校验; # 在提交时对所有输入框进行校验; # 在输入框得到焦点时,隐藏错误信息。 > 表单页面使用一次性图形验证码; > 在servlet中再次做了表单校验。 * 用户登录: > 表单校验与注册功能相同; > 登录成功时会把当前用户名保存到cookie中,为了在登录页面的输入框中显示! * 用户退出:销毁session 2). 分类模块 * 查询所有分类: > 有1级和2级分类 > 在页面中使用手风琴式菜单(Javascript组件)显示分类。 3). 图书模块: * 按分类查询 * 按作者查询 * 按出版社查询 * 按书名模糊查询 * 多条件组合查询 * 按id查询 除按id查询外,其他都是分页查询。 技术难点: > 组合查询:根据多个条件拼凑sql语句。 > 带条件分页查询:条件可能会丢失。使用自定义的PageBean来传递分页数据! > 页面上的分页导航:页码列表的显示不好计算! 4). 购物车模块: * 添加条目 * 修改条目数量 * 删除条目 * 批量删除条目 * 我的购物车 * 查询被勾选条目 购物车没有使用sesson或cookie,而是存储到数据库中。 技术难点: > 添加条目时,如果两次添加针对同一本书的条目,不是添加,而是合并; > 修改数量时使用ajax时请求服务器端,服务器端返回json。 > 大量js代码 5). 订单模块: * 生成订单 * 我的订单 * 查看订单详细 * 订单支付 * 订单确认收货 * 取消订单 后台 1). 管理员 * 管理员登录 2). 分类管理 * 添加1级分类 * 添加2级分类: 需要为2级分类指定所属1级分类 * 编辑1级分类 * 编辑2级分类: 可以修改所属1级分类 * 删除1级分类: 存在子分类时,不能删除 * 删除2级分类: 当前2级分类下存在图书时不能删除 * 查看所有分类 3). 图书管理 * 各种查询:与前台相同 * 添加图书: > 上传图片 > 页面中使用动态下拉列表显示2级分类,当指定1级分类后,2级分类下拉列表中动态显示该1级分类下所有2级分类名称 * 修改图书: 与添加图书相似,也使用动态下拉列表 * 删除图书: 需要删除图书对应图片,再删除图书 4). 订单管理 * 各种查询 * 订单发货 * 订单取消
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值