国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

servlet學習

2019-11-14 14:55:18
字體:
來源:轉載
供稿:網友

一.servlet簡介

servlet(server applet)是sun公司提供的一門用于開發動態web資源的技術

sun公司在其API中提供了servlet接口,如果用戶想要開發web資源,需要:

1.編寫一個java類,實現servlet接口

2.把開發好的java類部署到web服務器中

二.servlet的運行過程

servlet是由web服務器調用,web服務器收到客戶端的servlet訪問請求后:

1.web服務器首先檢查是否已經裝載并創建了該servlet的實例對象

  是----執行第4步

      不是--執行第2步

2.裝載并創建該servlet的一個實例對象

3.調用servlet實例對象的init()方法

4.創建一個用于封裝http請求消息的HttpServletRequest對象和封裝http響應消息的HttpServletResponse對象,然后調用servlet的service()方法,并將請求和響應作為參數傳遞進去

5.web應用程序被停止或重新啟動之前,servlet引擎將卸載Servlet,并在卸載之前Servlet的destory()方法

與生命周期有關的方法

可見Servlet的方法是與生命周期有關的方法,那么來看一下它的與生命周期有關的方法

·public void init(ServletConfig config)throws ServletException

多個客戶請求Servlet時,引擎會為每個客戶啟動一個線程,所以Servlet類的成員變量被所有的線程共享(Servlet是單實例多線程)

·public void service(HttpServletRequest request ,HttpServletResponse response)

                            throw ServletException,IOException

處理用戶的請求和響應,每個用戶的請求Servlet都會調用該方法,但是調用的時候在不同的線程中,所以互不干擾

·public destory()

當Servlet引擎終止服務時,比如關閉服務器,destory就會被執行,消滅servlet對象

三.Servlet接口的實現類

Servlet接口Sun公司定義了兩個默認實現類GenericServlet(空實現)和HttpServlet(能夠處理htpp請求的servlet)

在開發中我們只需要繼承HttpServlet類,再其service()方法中進行請求處理和數據相應

四.訪問開發好的Servlet資源

由于客戶端(瀏覽器)是通過URL地址訪問web服務器中的資源,所以Servlet程序想要被訪問就必須把Servlet映射到一個URL地址上

·在web.xml中配置

  <servlet>元素用來注冊Servlet,它包含有兩個主要的子元素

    <servlet-name>注冊名稱

    <servlet-class>完整類名

    <load-on-startup>創建web應用程序的時候裝載該Servlet

    <init-param>配置屬性

  <servlet>

    <servlet-name>Servlet</servlet-name>

    <servlet-class>cctv.session.Servlet</servlet-class>
  </servlet>

  <servlet-mapping>元素用來映射一個已注冊的Servlet的一個對外訪問路徑

    <servlet-name>注冊名稱

    <url-pattern>對外訪問路徑

  <servlet-mapping>

    <servlet-name>Servlet</servlet-name>
    <url-pattern>/servlet/servlet</url-pattern>
  </servlet-mapping>

五.Servlet的特點

1.針對客戶端的多次Servlet請求,服務器只會創建一個Servlet實例對象,也就是說Servlet實例對象一旦創建,它就會駐留在內存中,為后續的其它請求服務,直至web容器退出,servlet實例對象才會銷毀.

2.在Servlet生命周期中init()方法只會調用一次,對于service()方法,每次請求都會去調用該方法并且實例請求響應對象

六.線程安全(等待更新)

實現SingleThreadModel接口

七.Servlet的一些對象

ServletConfig對象

Config翻譯過來是配置的意思,可想而知這個對象是用來配置文件的,那么它是如何來配置文件的?

在web.xml文件中利用<init-param>為servlet配置一些初始化參數

儲存以鍵值對的形式進行

<init-param>
  <param-name>url</param-name>
  <param-value>jdbc:MySQL://localhost:3306</param-value>
</init-param>

 

通過該對象的getInitParameter(name)方法獲取name的value,或者通過getInitParameterNames()方法獲取枚舉器然后進行迭代獲取所有的name與value

ServletContext對象

Context翻譯過來是上下文的意思,可想而知這個對象是用來代表這個web應用的

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安乡县| 卓尼县| 阿合奇县| 旌德县| 无棣县| 平武县| 体育| 阿拉善右旗| 镇宁| 抚远县| 汤阴县| 宁阳县| 永安市| 泰来县| 郴州市| 黑山县| 阿瓦提县| 壤塘县| 新泰市| 中西区| 当涂县| 喜德县| 旬邑县| 台湾省| 精河县| 吉木萨尔县| 徐水县| 江城| 宁南县| 周宁县| 密云县| 惠来县| 吉首市| 锡林浩特市| 葫芦岛市| 项城市| 龙岩市| 肥城市| 石台县| 讷河市| 顺平县|