700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JAVA WEB实现图书管理系统 —— 主页面

JAVA WEB实现图书管理系统 —— 主页面

时间:2024-04-02 12:18:09

相关推荐

JAVA WEB实现图书管理系统 —— 主页面

本文章要实现的功能如下:

1、首页未登录状态:

2、首页已登录状态:

(这篇文章先不涉及下方图书信息的显示,该部分内容将在后续文章进行)

3、修改密码功能

4、注销用户功能

一、编写主界面

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><!--导入JSTL标签库 --><%@ taglib prefix="c" uri="/jsp/jstl/core" %><!DOCTYPE html><html><head><meta charset="utf-8"><title>首页</title></head><body><br /><center><h3>欢迎进入图书管理系统</h3></center><br /><br /><c:choose><%-- 判断用户信息是否存在在session中,如果不存在,则显示登录页面链接 --%><c:when test="${sessionScope.user==null}"><a href="${pageContext.request.contextPath}/login.jsp">用户登录</a></c:when><c:otherwise><%-- 如果存在,则直接显示用户信息 --%>欢迎你,${sessionScope.user.username }!&nbsp;&nbsp;&nbsp;&nbsp;<a href="${pageContext.request.contextPath}/updatePwd.jsp">修改密码</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="${pageContext.request.contextPath}/LogoutServlet">注销</a><hr /><br /></c:otherwise></c:choose></body></html>

二、编写自动登录过滤器

新建Filter类文件,起名为AutoLoginFilter

为该文件添加Filter接口

在该文件的doFilter()方法里添加过滤操作

public void doFilter(ServletRequest req, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest request=(HttpServletRequest) req;//获取cookie对象Cookie[] cookies=request.getCookies();String autoLogin=null;//遍历cookie对象的所有信息,判断用户是否选择了自动登录选项for(int i=0;cookies!=null&&i<cookies.length;i++) {if("autologin".equals(cookies[i].getName())) {//用户选择了自动登录,获取存在cookie里的用户信息autoLogin=cookies[i].getValue();break;}}if(autoLogin!=null) {//提取用户的用户名和密码String[] parts=autoLogin.split("-");String username=parts[0];String password=parts[1];UserDaoImp udi=new UserDaoImp();//判断cookie里的信息是否和数据库中信息相匹配,如果匹配成功,则将信息存到session中,便于后面的调用if(udi.search(username, password)) {User user=new User();user.setUsername(username);user.setPassword(password);request.getSession().setAttribute("user", user);}}chain.doFilter(request, response);}

三、在web.xml文件配置过滤器信息

<filter><filter-name>AutoLoginFilter</filter-name><filter-class>filter.AutoLoginFilter</filter-class></filter><filter-mapping><!--该元素用来设置过滤器要拦截的资源 --><filter-name>AutoLoginFilter</filter-name><url-pattern>/bookManage/index.jsp</url-pattern></filter-mapping>

四、编写修改密码界面及后台servlet

修改密码所需要的接口:

boolean update(String username,String password);

接口实现:

public boolean update(String username, String password) {// TODO Auto-generated method stubboolean flag=false;DBCon dbcon=new DBCon();cn=dbcon.getConnection();String sql="update register set password=? where username=?";try {psm=cn.prepareStatement(sql);psm.setString(1, password);psm.setString(2, username);if(psm.executeUpdate()!=0) {flag=true;}cn.close();psm.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return flag;}

updatePwd.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><!DOCTYPE html><html><head><meta charset="utf-8"><title>图书管理系统修改密码</title></head><center><h3>图书管理系统修改密码</h3></center><body style="text-align:center"><form action="${pageContext.request.contextPath}/UpdatePwdServlet" method="post"><table border="0" width="350px" cellpadding="0" cellspacing="0" align="center" style="background:#CFF;"><tr><td height="50" align="center">修改前密码:&nbsp;&nbsp;<input type="password" name="usedPwd" /></td></tr><tr><td height="50" align="center">修改后密码:&nbsp;&nbsp;<input type="password" name="pwd" /></td></tr><tr><td height="50"><input type="submit" value="修改" />&nbsp;&nbsp;&nbsp;&nbsp;<inut type="reset" value="重置" /></td></tr></table></form></body></html>

UpdatePwdServlet.java:

package servlet;import java.io.IOException;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 daoImp.UserDaoImp;import entity.User;@WebServlet("/UpdatePwdServlet")public class UpdatePwdServlet extends HttpServlet {private static final long serialVersionUID = 1L;public UpdatePwdServlet() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.getWriter().append("Served at: ").append(request.getContextPath());}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String usedPwd=request.getParameter("usedPwd");String pwd=request.getParameter("pwd");User user=new User();user=(User) request.getSession().getAttribute("user");UserDaoImp udi=new UserDaoImp();if(udi.update(user.getUsername(), pwd)) {//修改完成后跳转到登录页面String url="boolManage/login.jsp";response.sendRedirect(url);}}}

五、编写LogoutServlet类,实现注销功能

实现注销功能需要的接口:

boolean delete(String username);

接口实现:

public boolean delete(String username) {// TODO Auto-generated method stubboolean flag=false;DBCon dbcon=new DBCon();cn=dbcon.getConnection();String sql="delete from register where username=?";try {psm=cn.prepareStatement(sql);psm.setString(1, username);if(psm.executeUpdate()!=0) {flag=true;}cn.close();psm.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return flag;}

LogoutServlet.java:

package servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import daoImp.UserDaoImp;import entity.User;@WebServlet("/LogoutServlet")public class LogoutServlet extends HttpServlet {private static final long serialVersionUID = 1L;public LogoutServlet() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {User user=new User();//获取要注册的用户信息user=(User) request.getSession().getAttribute("user");//删除保存在session里的用户信息request.getSession().removeAttribute("user");//获取浏览器里的cookie对象Cookie[] cookies=request.getCookies();//判断cookie里是否存有要注销的用户信息,如果有则删除for(int i=0;cookies!=null&&i<cookies.length;i++) {if("autologin".equals(cookies[i].getName())) {cookies[i].setMaxAge(0);response.addCookie(cookies[i]);break;}}UserDaoImp udi=new UserDaoImp();udi.delete(user.getUsername());response.sendRedirect(request.getContextPath()+"/index.jsp");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}

源码下载

下一步:主页面图书显示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。