java中servlet實(shí)現(xiàn)登錄驗(yàn)證的方法
login.java:
package com.ncu;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class login extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res){
try{
//res.setCharacterEncoding("utf-8");
res.setContentType("text/html;charset=gbk");
PrintWriter pw=res.getWriter();
//返回登錄界面
pw.print("<html>");
pw.print("<head>");
pw.print("<title>登錄界面</title></head>");
pw.print("<body>");
pw.print("<h1>用戶登錄界面</h1>");
pw.print("<form action='loginpro' method=post>");
pw.print("用戶名:<input type=text name=userName><br>");
pw.print("密碼:<input type=password name=Pwd><br>");
pw.print("<input type=submit value=submit>");
pw.print("</body></html>");
}catch(Exception e)
{
e.printStackTrace();
}
}
}
LoginPro.java:
package com.ncu;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginPro extends HttpServlet{
public void doPost(HttpServletRequest req,HttpServletResponse res){
try{
String user=req.getParameter("userName");
String pwd=req.getParameter("Pwd");
if(user==null){
user="";
}
if(pwd==null)
{
pwd="";
}
if(user.equals("nicolas")&&pwd.equals("nicolas")){
//用戶和密碼合法
//res.sendRedirect("wel");
// res.setCharacterEncoding("gbk");
// PrintWriter pw=res.getWriter();
// pw.print("恭喜你,登錄成功!!");
res.sendRedirect("welcome");
}
else{
//不合法進(jìn)行跳轉(zhuǎn)
res.sendRedirect("login");//跳轉(zhuǎn)到登錄界面
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
Welcome.java:
package com.ncu;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Welcome extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res){
try{
res.setCharacterEncoding("gbk");
PrintWriter pw=res.getWriter();
pw.print("welcome,您好");
}catch(Exception e)
{
e.printStackTrace();
}
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<!-- 給你的servlet取名,任意的 -->
<servlet-name>hello</servlet-name>
<!-- 指明servlet的路徑(包名+類名 -->
<servlet-class>com.ncu.Hello</servlet-class>
</servlet>
<servlet-mapping>
<!-- 這個(gè)servlet名必須和映射的一致 -->
<servlet-name>hello</servlet-name>
<!-- 這是在瀏覽器中輸入的訪問該servlet的url -->
<url-pattern>/nicolas</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>helloservlet</servlet-name>
<servlet-class>com.ncu.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloservlet</servlet-name>
<url-pattern>/helloservlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>helloHttpServlet</servlet-name>
<servlet-class>com.ncu.helloHttpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloHttpServlet</servlet-name>
<url-pattern>/helloHttpServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.ncu.login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>loginpro</servlet-name>
<servlet-class>com.ncu.LoginPro</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginpro</servlet-name>
<url-pattern>/loginpro</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>welcome</servlet-name>
<servlet-class>com.ncu.Welcome</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>welcome</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>
</web-app>
相關(guān)文章
SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件
這篇文章主要介紹了SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09http basic authentication通過post方式訪問api示例分享 basic認(rèn)證示例
在HTTP中,基本認(rèn)證是一種用來允許Web瀏覽器或其他客戶端程序在請(qǐng)求時(shí)提供以用戶名和口令形式的憑證,這篇文章主要介紹了http basic authentication通過post方式訪問api示例,大家參考使用吧2014-01-01Idea 2020.2 創(chuàng)建web、Spring項(xiàng)目的教程圖解
這篇文章主要介紹了Idea 2020.2 創(chuàng)建web、Spring項(xiàng)目的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Maven+Tomcat8 實(shí)現(xiàn)自動(dòng)化部署的方法
本篇文章主要介紹了Maven+Tomcat8 實(shí)現(xiàn)自動(dòng)化部署的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10詳解ThreadLocal為什么會(huì)內(nèi)存溢出原理
這篇文章主要為大家介紹了ThreadLocal為什么會(huì)內(nèi)存溢出原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Java實(shí)現(xiàn)基于UDP協(xié)議的網(wǎng)絡(luò)通信UDP編程
在Java中使用UDP編程,仍然需要使用Socket,因?yàn)閼?yīng)用程序在使用UDP時(shí)必須指定網(wǎng)絡(luò)接口(IP地址)和端口號(hào)。注意:UDP端口和TCP端口雖然都使用0~65535,但他們是兩套獨(dú)立的端口,即一個(gè)應(yīng)用程序用TCP占用了端口1234,不影響另一個(gè)應(yīng)用程序用UDP占用端口12342023-04-04Spring MVC Controller返回值及異常的統(tǒng)一處理方法
這篇文章主要給大家介紹了關(guān)于Spring MVC Controller返回值及異常的統(tǒng)一處理方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Spring MVC具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Java封裝公共Result結(jié)果返回類的實(shí)現(xiàn)
在使用Java開發(fā)接口請(qǐng)求中,我們需要對(duì)請(qǐng)求進(jìn)行進(jìn)行統(tǒng)一返回值,這時(shí)候我們自己封裝一個(gè)統(tǒng)一的Result返回類,本文主要介紹了Java封裝公共Result結(jié)果返回類的實(shí)現(xiàn),感興趣的可以了解一下2023-01-01