zoukankan      html  css  js  c++  java
  • selves

    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 java.io.IOException;
    import java.sql.*;

    @WebServlet("/Login")
    public class LoginServlet extends HttpServlet {
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            doGet(req,resp);//转发到get 执行相同逻辑
        }

        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

            //获取参数
            String name = req.getParameter("username");
            String password = req.getParameter("pwd");


            String error = null; //错误信息
            boolean flag = false; //是否登陆成功
            //验证数据可靠性
            if(name == null || password == null || name.equals("") || password.equals("")){
                error="用户名和密码不能为空!";
            }else {
                //查询数据库
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    Connection connect = DriverManager.getConnection("jdbc:mysql://127.0.0.1/db1?charsetEncoding=utf-8&user=root&password=admin");
                    PreparedStatement statement = connect.prepareStatement("select *from user where name = ? and password = ?");
                    statement.setObject(1,name);
                    statement.setObject(2,password);
                    ResultSet set = statement.executeQuery();
                    if(set.next()){
                        flag = true;
                    }else{
                        error="用户名和密码错误!";
                    }
                } catch (ClassNotFoundException | SQLException e1) {
                    error = "服务器忙,请稍后再试!";
                }
            }

            if(flag){
                //删除已存在的错误信息,避免后续登录页面展示重复展示
                req.getSession().removeAttribute("error");
                //添加用户名称到session
                req.getSession().setAttribute("user",name);
                //跳转页面
                req.getRequestDispatcher("./index.jsp").forward(req,resp);
            }else{
                //添加错误信息到session
                req.getSession().setAttribute("error",error);
                //跳转页面
                req.getRequestDispatcher("./login.jsp").forward(req,resp);
            }
        }
    }
     
  • 相关阅读:
    基本类型
    匿名对象和匿名方法
    定时任务@SChedule详解
    docker的配置和安装
    数据库的学习
    docker的学习
    nginx的学习
    yyyy-MM-dd HH:mm:ss.SS的大小写的含义
    单例模式的学习
    layer的学习
  • 原文地址:https://www.cnblogs.com/huaobin/p/14162642.html
Copyright © 2011-2022 走看看