【javaweb】图书管理系统实现教程及代码分享

技术栈

java,Tomcat,Mybatis,Maven,MySql数据库,HTTP相关,Servlet,Cookie和Session,MVC三层架构,JDBC,AJAX,JSON,jsp,h5+CSS,JS

实现思路

java:可以看懂简单的java代码
Tomcat:服务器
Mybatis:简化JDBC书写
Maven:方便导入各种配置文件
MySql:储存数据
Servlet:进行动态页面编辑
Cookie和Session:传输数据
MVC三层架构:开发思想
h5+CSS,JS:基本的前端技术

作品展示

作品介绍视频

bilibili视频

登录界面在这里插入图片描述

主页面

在这里插入图片描述
功能完整的图书管理系统

部分代码展示(登录功能展示)

jsp页面代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <title>享学图书管理系统</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="description" content="享学图书管理系统" />
    <meta name="keywords" content="享学,网站管理系统,企业网站" />
    <meta name="Author" content="phenix" />
    <meta name="CopyRight" content="享学科技" />
    <link rel="stylesheet" type="text/css" href="./Style/skin.css" />
    <style>
        #login_msg{
            color: red;
            position: absolute;
            top: 274px;
            right: 165px;
            font-size: 18px;
        }
    </style>
</head>
<body>
<table width="100%" >
    <!-- 顶部部分 -->
    <tr height="41"><td colspan="2" background="./Images/login_top_bg.gif">&nbsp;</td></tr>
    <!-- 主体部分 -->
    <tr style="background:url(./Images/login_bg.jpg) repeat-x;" height="532"    >
        <!-- 主体左部分 -->
        <td id="left_cont" valign="top"  width="100%" height="100%">
            <table  >
                <tr>
                    <td width="20%" rowspan="2">
                        <ul>
                            <li><img src="./Images/book.jpg" />&nbsp;<a href="javascript:void(0)"/></li>
                        </ul>
                    </td>
                </tr>
            </table>
        </td>
        <!-- 主体右部分 -->
        <td id="right_cont">
            <table height="100%">
                <tr height="30%"><td colspan="3">&nbsp;</td></tr>
                <tr>
                    <td width="30%" rowspan="5">&nbsp;</td>
                    <td valign="top" id="form">
                        <form id="fmLogin" method="post" action="/mybook/loginServlet">
                            <table valign="top" width="50%">
                                <tr><td colspan="2"><h4 style="letter-spacing:1px;font-size:16px;">享学图书管理系统</h4></td></tr>
                                <tr><td>管理员:</td><td><input type="text" name="name" required /></td></tr>
                                <tr><td>密&nbsp;&nbsp;&nbsp;&nbsp;码:</td><td><input type="password" name="pwd" required/></td></tr>
                                <span id="login_msg">${login_msg}</span>
                                <tr class="bt"><td>&nbsp;</td><td><input type="submit" value="登录" />&nbsp;<input type="reset" value="重填" /></td></tr>
                            </table>
                        </form>
                    </td>
                    <td rowspan="5">&nbsp;</td>
                </tr>
                <tr><td colspan="3">&nbsp;</td></tr>
            </table>
        </td>
    </tr>
    <!-- 底部部分 -->
    <tr id="login_bot"><td colspan="2"><p>Copyright © 2011-2021 享学课堂科技信息有限公司</p></td></tr>
</table>

</body>
</html>

Servlet代码展示

package com.ccy.web.user;

import com.ccy.pojo.Type;
import com.ccy.pojo.User;
import com.ccy.service.TypeService;
import com.ccy.service.UserService;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    private UserService service = new UserService();
    private TypeService service2 = new TypeService();

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

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //去除中文乱码
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        //获取session对象
        HttpSession session = request.getSession();

        //获取数据
        String name = request.getParameter("name");
        String pwd = request.getParameter("pwd");

//        System.out.println(name);
//        System.out.println(pwd);

        User user = service.select(name, Long.parseLong(pwd));
//        System.out.println(user);

        if(user != null) {
            //登录成功
            System.out.println("登录成功");

            //把user信息存储到session(因为其他地方也要用)

            session.setAttribute("user", user);

            List<Type> types = service2.selectAll();

            session.setAttribute("types",types);

            //转发到main.jsp
            request.getRequestDispatcher("/main.jsp").forward(request, response);

        } else {
            //登录失败, 转发到login.jsp 并提示错误信息

            //存储错误信息到request
            request.setAttribute("login_msg", "管理员或密码输入错误");
            //转发到index.jsp
            request.getRequestDispatcher("/index.jsp").forward(request, response);
        }

    }

}

Service代码展示

package com.ccy.service;

import com.ccy.mapper.UserMapper;
import com.ccy.pojo.User;
import com.ccy.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

public class UserService {
    SqlSessionFactory factory = SqlSessionFactoryUtils.getSqlSessionFactory();

    //查询是否有这个用户
    public User select(String name,long pwd){
        //2.获取SqlSession
        SqlSession sqlSession = factory.openSession();

        //3.获取BrandMapper
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        //4.调用方法
        User user = mapper.select(name, pwd);

        //5.释放资源
        sqlSession.close();

        //处理数据
        return  user;
    }

    //根据ID查找
    public User selectById(Integer id){
        //2.获取SqlSession
        SqlSession sqlSession = factory.openSession();

        //3.获取BrandMapper
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        //4.调用方法
        User user = mapper.selectById(id);

        //5.释放资源
        sqlSession.close();

        //处理数据
        return  user;
    }

    //更改密码
    public int modifyPwd(Integer id,String pwd){
        //2.获取SqlSession
        SqlSession sqlSession = factory.openSession();

        //3.获取BrandMapper
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        //4.调用方法
        int count = mapper.modifyPwd(id, pwd);

        //提交事务
        sqlSession.commit();

        //5.释放资源
        sqlSession.close();

        //处理数据
        return  count;
    }
}

pojo代码展示

package com.ccy.pojo;

public class User {
    private Integer id;
    private String name;
    private String pwd;
    private Integer state;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                ", state=" + state +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }
}

mapper代码展示

package com.ccy.mapper;

import com.ccy.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

public interface UserMapper {

    //查询是否有这个用户
    @Select("select * from user where name = #{name} and pwd = #{pwd} ;")
    User select(@Param("name") String name,@Param("pwd") long pwd);

    //根据ID查找
    @Select("select * from user where id = #{id} ;")
    User selectById(Integer id);

    //更改密码
    @Update("update user set pwd = #{pwd} where id = #{id};")
    int modifyPwd(@Param("id") Integer id,@Param("pwd") String pwd);
}

源码分享

链接:https://pan.baidu.com/s/1WoSrDIXD2EVhZ9YA4BLmlA
提取码:2z4q

猜你喜欢

转载自blog.csdn.net/Cuichenyang158/article/details/127789417