1.安装MySQL数据库,建立用户表 uid uname upwd 并插入3条数据 (利用注册页面 创建的数据)
2.制作jsp登录页面 login.jsp 提交到dologin.jsp,使用jdbc连数据库,判断输入的用户名密码是否存在
package com.example.servlet; import com.example.Dao.ConnectionPool; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.sql.*; public class Login extends HttpServlet { @Override public void init() throws ServletException { super.init(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=UTF-8"); String uusername = req.getParameter("username").trim(); String ppassword = req.getParameter("password").trim(); int code1Int= 0; int code2Int= 0; int yzmInt= 0; Connection connection=null; PreparedStatement pre=null; try { connection = ConnectionPool.pop(); String sql="SELECT * FROM USER WHERE user_name=? AND user_password=?;"; pre = connection.prepareStatement(sql); pre.setString(1,uusername); pre.setString(2,ppassword); ResultSet rs = pre.executeQuery(); boolean m = rs.next(); if (code1Int+code2Int==yzmInt){ try { String yzm=req.getParameter("verify").trim(); String code1=req.getParameter("code1").trim(); String code2=req.getParameter("code2").trim(); code1Int = Integer.parseInt(code1); code2Int = Integer.parseInt(code2); yzmInt = Integer.parseInt(yzm); if (code1Int+code2Int==yzmInt){ if (m==true){ HttpSession session = req.getSession(); session.setAttribute("uusername",uusername); req.getRequestDispatcher("login_success.jsp").forward(req,resp); }else { resp.getWriter().println("<h1>登陆失败<h1>"); resp.getWriter().println("<h1>用户名或密码输入错误<h1>"); resp.getWriter().println("<h1>5s后页面跳转....</h1>"); resp.getWriter().println("<a href="login.jsp">返回至登陆界面</a>"); resp.setHeader("Refresh","5;url=login.jsp"); } }else { resp.getWriter().println("<h1>验证码输入错误<h1>"); resp.getWriter().println("<h1>3s后页面跳转....</h1>"); resp.getWriter().println("<a href="login.jsp">返回至登陆界面</a>"); resp.setHeader("Refresh","3;url=login.jsp"); } } catch (NumberFormatException e) { resp.getWriter().println("<h1>验证码为空,千万不可以为空哦<h1>"); resp.getWriter().println("<h1>3s后页面跳转....</h1>"); resp.getWriter().println("<a href="login.jsp">返回至登陆界面</a>"); resp.setHeader("Refresh","3;url=login.jsp"); } } } catch (SQLException throwables) { throwables.printStackTrace(); }finally { try { if (pre!=null) pre.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } ConnectionPool.push(connection); } } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); } public void success(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
3.如果存在,把用户名保存在SESSION中,跳转到welcome.jsp,welcome.jsp中读取session中的用户名,显示欢迎你xxx
<%-- Created by IntelliJ IDEA. User: 86177 Date: 2021/3/30 Time: 12:09 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登陆成功页面</title> </head> <body> <% String login= (String) session.getAttribute("uusername"); if (login==null){ response.sendRedirect("login.jsp"); } %> <h1>欢迎你 <%=login%></h1> </body> </html>
4.若不存在,跳到登录页面。
5.利用管理员 查看所有用户信息
package com.example.servlet; import com.example.bean.User; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.sql.*; import java.util.ArrayList; import java.util.List; public class Admin extends HttpServlet { @Override public void init() throws ServletException { super.init(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=UTF-8"); String adminuser = req.getParameter("adminuser").trim(); String adminpassword=req.getParameter("adminpassword").trim(); if (adminuser.equals("axing")&&adminpassword.equals("11")){ HttpSession session = req.getSession(); session.setAttribute("adminuser",adminuser); req.getRequestDispatcher("guanli_success.jsp").forward(req,resp); }else { // resp.getWriter().println("<h1>登陆失败<h1>"); req.getRequestDispatcher("guanli.jsp").forward(req,resp); } } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); } }
注册页面
登陆页面
登陆成功
登陆失败 不跳转~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 验证码输入错误 不跳转~~~~~~~~~~~~~~~~~~~~~
利用管理员查看 用户的所有数据