Servlet之简单用户登录验证


网站结构

Login.java -> 登录界面 执行(登录请求)
LoginCl.java -> 验证用户
登录界面 <- 验证不通过 | 验证通过 -> welcome.java 欢迎界面

Login.java

// 登录界面
package com.lee;
import javax.servlet.http.*;
import java.io.*;

public class Login extends HttpServlet {
    // 处理get请求
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        // 业务逻辑
        this.doPost(req,res);
        try{
            // 解决中文乱码
            res.setContentType("text/html;charset=gbk");
            PrintWriter pw = res.getWriter();
            // 返回登录界面
            pw.println("");
            pw.println("");
            pw.println("
"); pw.println("

登录 :

"); pw.println("用户名:
"); pw.println("密码:
"); pw.println("
"); pw.println("
"); pw.println(""); pw.println(""); }catch(Exception e){ e.printStackTrace(); } } // 处理post请求 public void doPost(HttpServletRequest req,HttpServletResponse res){ // doGet doPost合二为一 } }

LoginCl.java

// 用户验证servlet
package com.lee;
import javax.servlet.http.*;
import java.io.*;

public class LoginCl extends HttpServlet {
    // 处理get请求
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        // 业务逻辑
        this.doPost(req,res);
    
    }
    
    // 处理post请求
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        // doGet doPost合二为一
        try{
            // 接收客户端表单提交的用户名和密码
            String uName = req.getParameter("username");
            String pwd = req.getParameter("passwd");
            //验证
            if(uName.equals("root") && pwd.equals("123")){
                // 合法
                res.sendRedirect("welcome");
            }else{
                // 不合法
                //跳转
                res.sendRedirect("login");  // 你需要跳转的 URL
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

Welcome.java

// 欢迎界面
// 用户验证servlet
package com.lee;
import javax.servlet.http.*;
import java.io.*;

public class Welcome extends HttpServlet {
    // 处理get请求
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        // 业务逻辑
        try{
            PrintWriter pw = res.getWriter();
            pw.println("Welcome!");
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    
    // 处理post请求
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        // doGet doPost合二为一

    }
}

XML添加如下配置

    
    
        login  
        com.lee.Login
    
    
        login
        /login
    
    
    
        
        loginCl    
        com.lee.LoginCl
    
    
        loginCl
        /loginCl
    
    
    
        welcome    
        com.lee.Welcome
    
    
        welcome
        /welcome
    

给个github follow me的链接,上面有很多初学者可供学习的资料,项目.

https://github.com/SuperZee

你可能感兴趣的:(Servlet之简单用户登录验证)