国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java Servlet實現(xiàn)的三種方式

什么是Servlet

Servlet是在服務(wù)器上運行的小程序。一個Servlet就是一個Java類,并且可以通過“請求-響應(yīng)”編程模型來訪問的這個駐留在服務(wù)器內(nèi)存里的Servlet程序。

Tomcat容器等級

Tomcat的容器分為四個等級,Servlet的容器管理Context容器,一個Context對應(yīng)一個Web工程。結(jié)構(gòu)如下圖所示:

準(zhǔn)備工作

  • 安裝tomcat
  • 在tomcat中建立如下的目錄結(jié)構(gòu):

  • 即在tomcat的安裝目錄下的webapps下新建一個MyWebSite文件夾,用來保存自己網(wǎng)站的內(nèi)容,接下來,在MyWebSite中,建立一個文件夾WEB-INF(注:大小寫都必須完全一樣),在WEB_INF中,建立一個名為classes和一個名為lib的文件夾,還有一個web.xml的文件(該文件可以從與MyWebSite同級的ROOT文件夾中復(fù)制一個過來)共三個文件,如此,就建立好了自己網(wǎng)站的目錄結(jié)構(gòu)。


實現(xiàn)Servlet的三種方式

1 實現(xiàn)Servlet接口,然后實現(xiàn)接口中的五個方法,代碼為:

public class Hello implements Servlet{     //該函數(shù)用于初始化servlet,類似于類的構(gòu)造函數(shù),該函數(shù)只會被調(diào)用一次    public void init(ServletConfig parm1) throws ServletException {        System.out.println("init it!");    }    public ServletConfig getServletConfig() {        // TODO: Add your code here        return null;    }     //這個函數(shù)用于處理業(yè)務(wù)邏輯     //當(dāng)用戶每訪問servlet時,都會調(diào)用     //req:用于獲得客戶端(瀏覽器)信息     //res:用于向客戶端(瀏覽器)返回信息    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {        //從res中得到PrintWriter        System.out.println("Service it");        PrintWriter pw = res.getWriter();        pw.println("Hello world!");    }    public String getServletInfo() {        return "";    }     //銷毀,釋放內(nèi)存,三種方式會觸發(fā)destroy     //1. reload該servlet(webApps) 2. 關(guān)閉tomcat 3.關(guān)機    public void destroy() {        System.out.println("destroy it!");    }} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

2 繼承GenericServlet,只需要實現(xiàn)一個方法:service

public class HelloGen extends GenericServlet{    //重寫一個方法service即可    public void service(ServletRequest req, ServletResponse res){        //返回Hello world, generic        try{            PrintWriter pw = res.getWriter();            pw.println("Hello generic");        }        catch(Exception e){            e.printStackTrace();        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3 繼承HttpServlet,復(fù)寫doGetdoPost方法

public class HelloHttp extends HttpServlet{    //處理get請求    public void doGet(HttpServletRequest req, HttpServletResponse res){        //業(yè)務(wù)邏輯        try{            PrintWriter pw = res.getWriter();            pw.println("hello, Http");        }        catch (Exception e){            e.printStackTrace();        }    }    public void doPost(HttpServletRequest req, HttpServletResponse res){        this.doGet(req,res);        }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

當(dāng)然,每次寫好代碼之后,需要在web.xml中注冊新的servlet
web.xml:

<?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"  metadata-complete="true">  <display-name>Welcome to Tomcat</display-name>  <description>     Welcome to Tomcat  </description>    //第一種方式需要加入的部分  <servlet>    <servlet-name>hello</servlet-name>    <servlet-class>com.thorin.Hello</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>hello</servlet-name>    <url-pattern>/thorin</url-pattern>  </servlet-mapping>  //第二種方式需要加入的部分  <servlet>    <servlet-name>hellogen</servlet-name>    <servlet-class>com.thorin.HelloGen</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>hellogen</servlet-name>    <url-pattern>/hellogen</url-pattern>  </servlet-mapping>  //第三種方式需要加入的部分  <servlet>    <servlet-name>hellohttp</servlet-name>    <servlet-class>com.thorin.HelloHttp</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>hellohttp</servlet-name>    <url-pattern>/hellohttp</url-pattern>  </servlet-mapping></web-app>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

然后在tomcat的管理界面中reload就可看到效果了:

效果1:

效果2:

效果3:

當(dāng)然,目前使用最常使用的是第三種方式,即繼承HttpServlet的方式。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
圖解JSP與Servlet的關(guān)系
淺析Struts1和Struts2的Action線程安全問題
AXIS開始Web 服務(wù)
學(xué)習(xí)Java6(一) WebServices (3)在tomcat中發(fā)布 - 交口稱贊 -...
Flex與Java通信 BlazeDS方式 最詳盡的解析
基于注釋的Spring Security實戰(zhàn)指南
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服