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页面

结果如下:

 

 


 

接下来按照步骤继续写功能!!

 

posted @   睡觉不困  阅读(1124)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示