您好,登錄后才能下訂單哦!
小編給大家分享一下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工程,目錄如下
2.創(chuàng)建一個(gè)登錄頁(yè)面,一個(gè)登陸成功頁(yè)面放在web目錄下
登錄界面代碼如下
<%@ 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>
運(yùn)行程序,輸入正確的用戶名密碼登陸成功后,會(huì)跳轉(zhuǎn)到登錄成功頁(yè)面
輸入錯(cuò)誤的用戶名密碼,會(huì)跳轉(zhuǎn)回登錄頁(yè)面,并提示用戶“用戶名或密碼錯(cuò)誤”
以上是“Servlet怎么實(shí)現(xiàn)登錄功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(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)容。