网站结构
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("<html>");
pw.println("<body>");
pw.println("<form action=loginCl method=post>");
pw.println("<h1>登录 :</h1>");
pw.println("用户名:<input type=text name=username><br>");
pw.println("密码:<input type=password name=passwd><br>");
pw.println("<input type=submit value=登录><br>");
pw.println("</form>");
pw.println("</body>");
pw.println("</html>");
}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-->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.lee.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<!--验证用户登录-->
<servlet>
<servlet-name>loginCl</servlet-name>
<servlet-class>com.lee.LoginCl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginCl</servlet-name>
<url-pattern>/loginCl</url-pattern>
</servlet-mapping>
<!--欢迎界面-->
<servlet>
<servlet-name>welcome</servlet-name>
<servlet-class>com.lee.Welcome</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>welcome</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>
给个github follow me的链接,上面有很多初学者可供学习的资料,项目.
<a>https://github.com/SuperZee</a>