網(wǎng)站結構
Login.java-> 登錄界面 執(zhí)行(登錄請求)
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){
// 業(yè)務邏輯
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){
// 業(yè)務邏輯
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){
// 業(yè)務邏輯
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>