溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Servlet怎么實(shí)現(xiàn)登錄功能

發(fā)布時(shí)間:2021-03-23 10:21:23 來(lái)源:億速云 閱讀:328 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Servlet怎么實(shí)現(xiàn)登錄功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

介紹:

Servlet 是 JavaWeb 三大組件之一。三大組件分別是:Servlet 程序、Filter 過(guò)濾器、Listener 監(jiān)聽器。Servlet 是運(yùn)行在服務(wù)器上的一個(gè) java 小程序,它可以接收客戶端發(fā)送過(guò)來(lái)的請(qǐng)求,并響應(yīng)數(shù)據(jù)給客戶端。

具體步驟:

1.創(chuàng)建web工程,目錄如下

Servlet怎么實(shí)現(xiàn)登錄功能

2.創(chuàng)建一個(gè)登錄頁(yè)面,一個(gè)登陸成功頁(yè)面放在web目錄下

Servlet怎么實(shí)現(xiàn)登錄功能

登錄界面代碼如下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html >
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
 <form action="http://localhost:8080/demo_war_exploded/loginServlet" method="post">
<span class="errorMsg">

 ${empty requestScope.Msg? "請(qǐng)輸入用戶名和密碼":requestScope.Msg}
</span><br>
 用戶名:<input type="text" name="username"><br>
 密碼:<input type="password" name="password"><br>
 <input type="submit" value="登錄">

 </form>
</body>
</html>

3.創(chuàng)建LoginServlet類,繼承HttpServlet

LoginServlet.java

因?yàn)檫@里只是簡(jiǎn)單介紹一下servlet用法,所以把用戶名和密碼是寫的固定的。

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class LoginServlet extends HttpServlet {

 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 //設(shè)置請(qǐng)求發(fā)來(lái)的字符集,避免亂碼
 req.setCharacterEncoding("UTF-8");
 //獲取用戶名和密碼
 String username=req.getParameter("username");
 String password=req.getParameter("password");
 //判斷用戶名密碼是否正確(這里只做簡(jiǎn)單講解)
  if(username.equals("張三")&&password.equals("123456")){
  //如果用戶名密碼正確,則請(qǐng)求轉(zhuǎn)發(fā)到登錄成功頁(yè)面
  req.getRequestDispatcher("success.html").forward(req,resp);
  }else{
  //否則重定向到登錄界面,并提示用戶用戶名或密碼錯(cuò)誤
  req.setAttribute("Msg","用戶名或密碼錯(cuò)誤");
  req.getRequestDispatcher("index.jsp").forward(req,resp);
  }
 }
}

4.在web.xml文件中配置Servlet

我們配置的時(shí)候只需要添加Servlet部分代碼,其他的在創(chuàng)建時(shí)已經(jīng)自動(dòng)生成。Servlet-name 是要配置的類名,Servlet-class是類的全類名(不懂的朋友,在可以直接寫類名,系統(tǒng)會(huì)提示),最重要的:url-pattern標(biāo)簽配置訪問(wèn)地址 ,/ 斜杠在服務(wù)器解析的時(shí)候,表示地址為:http://ip:port/工程路徑, /hello 表示地址為:http://ip:port/工程路徑/hello 。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0">

 <servlet>
 <servlet-name>LoginServlet</servlet-name>
 <servlet-class>LoginServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>LoginServlet</servlet-name>
 <url-pattern>/loginServlet</url-pattern>
 </servlet-mapping>
</web-app>

實(shí)現(xiàn)結(jié)果

運(yùn)行程序,輸入正確的用戶名密碼登陸成功后,會(huì)跳轉(zhuǎn)到登錄成功頁(yè)面

Servlet怎么實(shí)現(xiàn)登錄功能

Servlet怎么實(shí)現(xiàn)登錄功能

輸入錯(cuò)誤的用戶名密碼,會(huì)跳轉(zhuǎn)回登錄頁(yè)面,并提示用戶“用戶名或密碼錯(cuò)誤”

Servlet怎么實(shí)現(xiàn)登錄功能

Servlet怎么實(shí)現(xiàn)登錄功能

以上是“Servlet怎么實(shí)現(xiàn)登錄功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI