Servlet簡介
和前面學習的JavaBean一樣,Servlet本質上也是Java類,編寫Servlet需要遵循java的基本語法,但是與一般的Java類不同的是Servlet是只能運行在服務器端的Java類,而且必須遵循特殊的規范,在運行過程中有自己的生命周期,這些特性都是Servlet所獨有的。另外Servlet和HTTP協議是緊密聯系的,所以使用Servlet幾乎可以處理HTTP協議所有方面的內容,這也正是Servlet受到開發人員青睞的最大原因。
Servlet工作原理
一個簡單jsp+servlet的登錄例子
JSP頁面代碼
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head></head><body><formaction="http://127.0.0.1:8080/JavaWebExercise/loginServlet"method="get">name:<inputtype="text"name="username"/><inputtype="submit"value="submit"></form></body></html>
LoginServlet代碼
packagecom.bjpowernode.test;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassLoginServletextendsHttpServlet{@OverridepublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringusername=request.getParameter("username");System.out.println("username="+username);response.setContentType("text/html;charset=UTF-8");response.getWriter().println(username+"loginsuccess");}@OverridepublicvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{doGet(req,resp);}}
配置文件代碼
<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><display-name></display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><servlet><servlet-name>MyServlet</servlet-name><servlet-class>com.bjpowernode.test.LoginServlet</servlet-class></servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/loginServlet</url-pattern></servlet-mapping></web-app>
過程詳解
1、在jsp頁面中提交表單到Tomcat,請求的url為http://127.0.0.1:8080/JavaWebExercise/loginServlet
2、當請求達到Tomcat后服務器截取url獲得客戶端所請求的項目名稱(這里為JavaWebExercise)。
3、找到項目后再根據url截取所對應的servlet訪問名稱,這里為loginServlet。
4、根據loginServlet找到Servlet-name,這里為MyServlet。
5、根據Servlet-name找到對應的class文件,這里為com.bjpowernode.test包下面的LoginServlet類。
6、采用反射實例化找到的servlet類。
7、根據請求的類別,調用servlet父類中service方法進行分發,
8、根據service的分發調用相應的doGet/doPost(這里我們調用的是get方法)。
9、取得傳遞過來的參數值。
10、調用其他javaBean完成業務邏輯。
11、完成業務邏輯返回給Servlet。
12、輸出html字符串
13、將html返回給Tomcat服務器
14、通過得到的html渲染頁面。
感謝各位的閱讀,以上就是“servlet簡介及工作原理”的內容了,經過本文的學習后,相信大家對servlet簡介及工作原理這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是本站,小編將為大家推送更多相關知識點的文章,歡迎關注!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
中國銀行的分期手續費是根據分期時間和利率計算的,以下是中行分期手續費率:1、如果分3期,費率為1.95%。2、如果分6期,費率為3.60%。3、如果分9期,費率為5.40%。4、如果分12期,費率為7.20%。5、如果分18期,費率為11.70%。6、如果分24期,費率為費率為15%。中國銀行(BANK OF CHINA)是中央管理的大型國有銀行,國家副部級單位,中國香港、中國澳門的發鈔行,于19...
最近這段時間總有小伙伴問小編找本女主是NPC的網游小說是什么,小編為此在網上搜尋了一些有關于找本女主是NPC的網游小說的知識送給大家,希望能解答各位小伙伴的疑惑。1、《網游之夢幻現實》作者:云天空;2、《娶個NPC夫人》作者:黃花梨;【資料圖】3、《菜鳥老公》作者:末尚尚;4、《網游之丑娘》作者:小小魚水中游;5、《千里佳期我來赴》作者:舒嘉妍;6、《全服第二》作者:落日薔薇;7、《網游之冬至秋離...
什么是股市的靜默期?1、股市的靜默期是指公司上市前的靜默期,是從公司跟承銷商達成協議開始,一直到招股說明書做完后,再加25天。2、企業第一次向公眾發行股票被稱為IP0 ( Initial Public Offering) 。IP0的過程對每一個公司來說都應謹小慎微,甚至如履薄冰,每一個細節都可能會給公司的IPO進程造成致命影響。3、例如Google創始人在.上市緘默期曾接受了《花花公子》的采訪,就...