servlet實(shí)現(xiàn)用戶登錄小程序
當(dāng)時(shí)在上JAVA課的時(shí)候,老師就給我們講過SUN公司的servlet是一個(gè)典型的JAVA語言的應(yīng)用。現(xiàn)在在上網(wǎng)絡(luò)編程課的時(shí)候,終于接觸到了這種服務(wù)器小程序。
現(xiàn)在我們就用servlet來簡單實(shí)現(xiàn)一個(gè)用戶登錄的小程序。
首先,servlet也是一個(gè)JAVA類,新建一個(gè)JAVA類,它直接繼承了HttpServlet類:
@WebServlet(name = "ServletTest")
public class ServletTest extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
@Override
public void init() throws ServletException {
super.init();
}
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
//super.service(req, res);
String username=req.getParameter("username");
String password=req.getParameter("password");
System.out.println(username);
System.out.println(password);
}
@Override
public void destroy() {
super.destroy();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
}
Servlet作為一個(gè)程序,也會(huì)有它的生命周期,它的生命周期從init()開始,有兩種init(),一個(gè)是有參數(shù)的,另一個(gè)是無參數(shù)的。其中有參數(shù)的init方法會(huì)顯示地調(diào)用無參的init()方法。從init(ServletConfi,g config)的源代碼中我們也可以看出這一點(diǎn)。init()是在被Servlet被訪問時(shí)被調(diào)用

當(dāng)servlet接受用戶提交的表單的時(shí)候會(huì)調(diào)用service方法。
然后編寫login.jsp:
<form action="<%= request.getContextPath() %>/loginServlet" method="post"> 用戶名:<input type="text" name="username"><br/> 密碼:<input type="password" name="password"><br/> <input type="submit" value="登錄"> <input type="reset" value="重置"> </form>
注意action中要使用request.getContextPath獲取到上下文路徑。
loginServlet需要在web.xml中進(jìn)行配置
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.myServlet.ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
servlet-name隨便起,servlet-class表示servlet的類名。
url-pattern是action中引用的名字,這樣它們就關(guān)聯(lián)在一起了。
最后就可以看見表單中的username和password被打印出來了。

最后其它的方法可以根據(jù)需要在官方文檔中查找。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之線性表
線性表是其組成元素間具有線性關(guān)系的一種數(shù)據(jù)結(jié)構(gòu),對(duì)線性表的基本操作主要有,獲取元素,設(shè)置元素值,遍歷,插入,刪除,查找,替換,排序等。而線性表可以采用順序儲(chǔ)存結(jié)構(gòu)和鏈?zhǔn)絻?chǔ)存結(jié)構(gòu),本節(jié)主要講解順序表、單鏈表以及雙鏈表的各種基本操作。2017-03-03
Mybatis #foreach中相同的變量名導(dǎo)致值覆蓋的問題解決
本文主要介紹了Mybatis #foreach中相同的變量名導(dǎo)致值覆蓋的問題解決,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
Java中的CyclicBarrier循環(huán)柵欄解析
這篇文章主要介紹了Java中的CyclicBarrier循環(huán)柵欄解析,從字面上的意思可以知道,這個(gè)類的中文意思是"循環(huán)柵欄",大概的意思就是一個(gè)可循環(huán)利用的屏障,它的作用就是會(huì)讓所有線程都等待完成后才會(huì)繼續(xù)下一步行動(dòng),需要的朋友可以參考下2023-12-12
Spring?cloud網(wǎng)關(guān)gateway進(jìn)行websocket路由轉(zhuǎn)發(fā)規(guī)則配置過程
這篇文章主要介紹了Spring?cloud網(wǎng)關(guān)gateway進(jìn)行websocket路由轉(zhuǎn)發(fā)規(guī)則配置過程,文中還通過實(shí)例代碼介紹了Spring?Cloud?Gateway--配置路由的方法,需要的朋友可以參考下2023-04-04

