这里写目录标题
技术栈
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:基本的前端技术
作品展示
作品介绍视频
登录界面
主页面
功能完整的图书管理系统
部分代码展示(登录功能展示)
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"> </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" /> <a href="javascript:void(0)"/></li>
</ul>
</td>
</tr>
</table>
</td>
<!-- 主体右部分 -->
<td id="right_cont">
<table height="100%">
<tr height="30%"><td colspan="3"> </td></tr>
<tr>
<td width="30%" rowspan="5"> </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>密 码:</td><td><input type="password" name="pwd" required/></td></tr>
<span id="login_msg">${login_msg}</span>
<tr class="bt"><td> </td><td><input type="submit" value="登录" /> <input type="reset" value="重填" /></td></tr>
</table>
</form>
</td>
<td rowspan="5"> </td>
</tr>
<tr><td colspan="3"> </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