javaweb图书管理系统之账号密码验证登录
验证账号与密码是否正确功能
一.注册功能
首先,在验证账号与密码是否正确的前提下的,需要先注册一个账号,如果没有账号,就会进不去,也无法验证。
其实,注册功能就是一个添加的功能,仿照我的第一篇文章,往数据库里增加数据。
我这里做的注册页面比较简单,只是输入一个账号与密码,插入数据库,没有确认密码,也没有确定哪个账户是管理员还是读者。
期末考试快到了,没时间去写了,等我考完补上。
二.servlet层
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 javax.servlet.http.HttpSession; import Bean.xinxi; import dao.dao; import daoimpl.daoimpl; /** * Servlet implementation class login_servlet */ @WebServlet("/login_servlet") public class login_servlet extends HttpServlet { private static final long serialVersionUID = 1L; dao gooddao=new daoimpl(); /** * @see HttpServlet#HttpServlet() */ public login_servlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String studentid=request.getParameter("studentid"); String password=request.getParameter("password"); String method=request.getParameter("method"); String form=request.getParameter("form"); HttpSession session=request.getSession();
//将数据存放到session中 xinxi good=new xinxi(studentid,password); good.setStudentid(studentid); good.setPassword(password); if("login".equals(method)) { if(gooddao.login(good)) {//dao层方法 session.setAttribute("good", good);//session //将账号密码存放到session if(form.equals("读者"))request.getRequestDispatcher("reader.jsp").forward(request, response); else if(form.equals("管理员"))request.getRequestDispatcher("genlist.jsp").forward(request, response); } else { request.setAttribute("message1", "用户名或密码错误!"); request.getRequestDispatcher("denglu.jsp").forward(request, response); } } } }
三.dao层
判断账号与密码
public boolean login(xinxi n) { Connection conn = DBUtil.getConnection(); ResultSet rs = null; PreparedStatement pstmt=null; String sql = "select * from t_user where studentid =? and password=?";//表里查询账号与密码,如果与之对应则账号密码正确,反之,密码错误 boolean isLogin=false; try { conn=DBUtil.getConnection(); pstmt=conn.prepareStatement(sql); pstmt.setString(1,n.getStudentid()); pstmt.setString(2,n.getPassword()); rs=pstmt.executeQuery(); while(rs.next()) { isLogin=true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return isLogin; }
三.jsp层
在页面我们需要知道是哪个用户在使用系统,我们需要使用session来存储用户名。
<%xinxi good=(xinxi)request.getSession().getAttribute("good"); %>//servlet中已存储用户名,只需在jsp里面获取
当前登录用户:<%=good.getStudentid() %>
写入你的jsp页面
结果如下:
接下来按照步骤继续写功能!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!