jsp-登录案例

这篇博客详细介绍了使用Java实现JSP后台登录功能的步骤,包括检查用户信息完整性、验证用户是否存在、判断信息准确性,以及控制器和服务层的交互。在登录过程中,涉及了请求转发、消息模型对象的使用以及Session作用域的应用。
摘要由CSDN通过智能技术生成

/*
* 后台登录功能步骤:
* -接收客户端的请求(参数包含用户信息)
* 1.判断用户所有信息是否填写完整:
* -如果参数为空:
* 通过消息模型对象返回结果(设置状态,提示哪些参数为空,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 2.判断用户填写信息是否存在于数据库:
* -如果用户对象为空:
* 通过消息模型对象返回结果(设置状态,提示哪些参数为空,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 3.判断用户填写的信息是否完全符合:
* -如果用户对象有信息出错:
* 通过消息模型对象返回结果(设置状态,提示哪些参数出错,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 如果相等,表示登录成功,跳转到登录页面,并且将用户信息设置到Session作用域。
* 4.controller层(接收请求,响应结果):
* -接收客户端请求(接收参数:姓名,密码)
* -调用service层的方法,返回消息模型对象
* -将消息模型对象设置到不同的作用域中
* -请求转发跳转到登录页面
* service层(业务逻辑层):
* -判断参数是否为空:如果为空,则将状态码,提示信息,回显信息设置到消息模型对象,并返回该对象
* -调用Dao层(mapper层):该类实现了数据操作的接口的各种方法
* mapper层:
* 定义对应接口,并且由mapper文件实现接口里的所有方法
* */

//LoginServer.java
在这里插入代码片@WebServlet(urlPatterns = {
   "/MainServer"})
public class LoginServer extends HttpServlet {
   
    private SqlSession ss = mybatisConnect.StartSqlSession();
    @Override
    protected  void  service(HttpServletRequest req, HttpServletResponse res){
   
       /*
       *      后台登录功能步骤:
       *         -接收客户端的请求(参数包含用户信息)
       *      1.判断用户所有信息是否填写完整:
       *            -如果参数为空:
       *                通过消息模型对象返回结果(设置状态,提示哪些参数为空,回显数据),将消息模型对象设置到request作用域,
       *                请求转发跳转到登录页面,return
       *      2.判断用户填写信息是否存在于数据库:
       *              -如果用户对象为空:
       *                   通过消息模型对象返回结果(设置状态,提示哪些参数为空,回显数据),将消息模型对象设置到request作用域,
        *                请求转发跳转到登录页面,return
       *      3.判断用户填写的信息是否完全符合:
       *              -如果用户对象有信息出错:
       *                通过消息模型对象返回结果(设置状态,提示哪些参数出错,回显数据),将消息模型对象设置到request作用域,
        *                请求转发跳转到登录页面,return
        *             如果相等,表示登录成功,跳转到登录页面,并且将用户信息设置到Session作用域。
        *     4.controller层(接收请求,响应结果):
        *           -接收客户端请求(接收参数:姓名,密码)
        *           -调用service层的方法,返回消息模型对象
        *           -将消息模型对象设置到不同的作用域中
        *           -请求转发跳转到登录页面
        *       service层(业务逻辑层):
        *           -判断参数是否为空:如果为空,则将状态码,提示信息,回显信息设置到消息模型对象,并返回该对象
        *           -调用Dao层(mapper层):该类实现了数据操作的接口的各种方法
        *       mapper层:
        *           定义对应接口,并且由mapper文件实现接口里的所有方法
       * */
        try {
   
//           设置请求头解码编码方式
            req.setCharacterEncoding("UTF-8");
            res.setHeader("content-type","text/html;charset=utf-8");
            String UserAccount = req.getParameter("UserAccount");
            String UserName = req.getParameter("UserName");
            String UserPassword = req.getParameter("UserPassword");
            String UserAge = req.getParameter("UserAge");
            UserMapper UM = ss.getMapper(UserMapper.class);
            UserInfo User = UM.GetUserByID(UserAccount);
            System.out.println(User);
            HttpSession hs = req.getSession();
            hs.setAttribute("UserAccount",UserAccount);
            hs.setAttribute("UserName",UserName);
            hs.setAttribute("UserAge",UserAge);
            hs.setAttribute("UserPassword",UserPassword);
            if(User == null || !User.getUserPassword().equals(UserPassword)){
   
                hs.setAttribute("Msg","用户不存在或信息填写错误");
                res.sendRedirect("Validation.jsp");
            }
            if(User.getUserAccount().equals(UserAccount) && User.getUserPassword().equals(UserPassword)){
   
                 res.sendRedirect("Index.jsp");
            }

        } catch (Exception e) {
   
            e.printStackTrace();
        }
    }
}



//RegisterServer.java
@WebServlet(urlPatterns = {
   "/RegisterServer"})
public class RegisterServer extends  HttpServlet{
   
    private String UserAccount;
    private String UserName;
    private String UserAge;
    private String UserPassword;
    SqlSession sql = mybatisConnect.StartSqlSession();
    @Override
        protected  void  service(HttpServletRequest req, HttpServletResponse res){
   
//        设置请求头解码编码方式
        try {
   
            req.setCharacterEncoding("UTF-8");
            res.setHeader("content-type","text/html;charset=utf-8");
        } catch (Exception e) {
   
            e.printStackTrace();
        }

        //将注册用户的信息添加到一个对象,再将该对象添加到消息模型中
            UserInfo UI = new UserInfo();
            UserAccount = req.getParameter
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值