<JavaWeb>Servlet技術(shù)簡介

筆記總結(jié)自網(wǎng)易云課堂Servlet系列課程

什么是Servlet

Servlet == Server + Applet
Applet是采用Java編寫的小應用程序,可以內(nèi)嵌在HTML中,由支持applet的瀏覽器在客戶端運行。
而Servlet指的是在服務器端運行的applet,Servlet類是一個獨特的Java類,它本身不包含main方法,不能獨立運行于JVM中,需要運行在特殊的容器中,由容器進行管理。編寫Servlet程序時,需要遵循Servlet規(guī)范。Servlet與HTTP關(guān)系緊密,能夠處理HTTP請求,并提供HTTP響應。用一句話來總結(jié),即:
一個Servlet是一個Java類,并且提供基于請求-響應模式的Web服務

Servlet容器
Servlet依靠容器運行,而又與容器分離,相互獨立發(fā)展。
Servlet容器提供Servlet的裝載和管理工作,包括Servlet的創(chuàng)建運行和銷毀。
而Servlet容器本質(zhì)上是一個服務器程序,負責將請求分配給對應的Servlet,然后將Servlet運行的結(jié)果回傳給服務器,服務器再將最后的結(jié)果返回給客戶端。

Servlet的創(chuàng)建
創(chuàng)建一個Servlet類,需要這個類繼承自HttpServlet類,我們可以在tomcat/lib文件目錄下找到servlet.jar文件,只要將這個文件添加進IDE的lib中,就可以了,或者我們也可以直接安裝Eclipse IDE for Java EE版本鏈接在此
創(chuàng)建完成之后,重寫doGet和service方法。

重寫doGet和service方法

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        super.doGet(req, resp);
        PrintWriter pw = resp.getWriter();
        pw.print("hello world");
        pw.close();
    }

之后import進所有需要的庫文件,這樣,我們的hello world就寫好了,想要真實的看到語句的執(zhí)行結(jié)果,需要有服務器的基礎(chǔ)知識,即web.xml文件的配置路徑和配置方法。web.xml配置一般放在項目目錄下WEB-INF文件目錄下。這里僅介紹Servlet的配置。

<servlet>
    <servlet-name>Servlet的名字</servlet-name>
    <servlet-class>Servlet類的路徑以包的形式來寫,比如com.java.helloServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Servlet的名字,與上相同</servlet-name>
    <url-pattern>Servlet對外路徑,如/hello</url-pattern>
</servlet-mapping>

接下來,只需要啟動Tomcat,部署項目,進行訪問就可以了。
如果我們進行跟蹤的話,會發(fā)現(xiàn),Servlet在進行訪問時,會先調(diào)用service方法,再調(diào)用doGet方法。

在處理HTTP請求時,servlet容器會根據(jù)配置文件web.xml找到servlet地址,并將請求轉(zhuǎn)發(fā)給service方法,傳入兩個參數(shù),如果請求是GET方法,service就會將請求再次轉(zhuǎn)發(fā)給doGet方法進行后續(xù)的處理工作。最后,我們會使用HttpServletResponse對象將數(shù)據(jù)返回。這就是一個完整的Servlet處理流程。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 0 系列目錄# WEB請求處理 WEB請求處理一:瀏覽器請求發(fā)起處理 WEB請求處理二:Nginx請求反向代理 本...
    七寸知架構(gòu)閱讀 14,237評論 22 189
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,637評論 18 399
  • 復習復習?。?!搞起來!!Servlet和JSP是Java EE規(guī)范最基本成員,他們是Java Web開發(fā)的重點知識...
    JackFrost_fuzhu閱讀 2,985評論 1 70
  • 這部分主要是與Java Web和Web Service相關(guān)的面試題。 96、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,501評論 0 10

友情鏈接更多精彩內(nèi)容