验证账号与密码是否正确功能

一.注册功能

首先,在验证账号与密码是否正确的前提下的,需要先注册一个账号,如果没有账号,就会进不去,也无法验证。

其实,注册功能就是一个添加的功能,仿照我的第一篇文章,往数据库里增加数据。

Java判断用户名密码 javaweb判断用户名和密码_账号密码验证

 

 

 我这里做的注册页面比较简单,只是输入一个账号与密码,插入数据库,没有确认密码,也没有确定哪个账户是管理员还是读者。

期末考试快到了,没时间去写了,等我考完补上。

Java判断用户名密码 javaweb判断用户名和密码_java_02

 

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

结果如下:

Java判断用户名密码 javaweb判断用户名和密码_java_03

 


 


 

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