国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[Java Web]Servlet 的學(xué)習(xí)

dreamGong / 1247人閱讀

摘要:的學(xué)習(xí)的開發(fā)是運(yùn)行在服務(wù)器端的程序,用于處理及響應(yīng)客戶端的請(qǐng)求。是個(gè)特殊的類,必須繼承。另外還包含兩個(gè)方法創(chuàng)建實(shí)例銷毀實(shí)例不需要為編寫構(gòu)造器,如果需要對(duì)進(jìn)行初始化的操作,可以重寫方法。調(diào)用的方法銷毀。的是應(yīng)用啟動(dòng)時(shí)立刻創(chuàng)建實(shí)例。

Servlet 的學(xué)習(xí) Servlet的開發(fā)

Servlet是運(yùn)行在服務(wù)器端的程序,用于處理及響應(yīng)客戶端的請(qǐng)求。

Servlet是個(gè)特殊的Java類,必須繼承HttpServlet。每個(gè)Servlet可以響應(yīng)客戶端的請(qǐng)求。

Servlet相應(yīng)客戶端請(qǐng)求的方法:

doGet():響應(yīng)客戶端的Get請(qǐng)求

doPost():響應(yīng)客戶端的POST請(qǐng)求

doPut():響應(yīng)客戶端的PUT請(qǐng)求

doDelete():響應(yīng)客戶端的DELETE請(qǐng)求

大部分時(shí)候,Servlet對(duì)于所有請(qǐng)求的響應(yīng)都是一樣的,所以可以只重寫service()方法。

另外HttpServlet還包含兩個(gè)方法:

init(ServletConfig config):創(chuàng)建Servlet實(shí)例

destroy():銷毀Servlet實(shí)例

不需要為Servlet編寫構(gòu)造器,如果需要對(duì)Servlet進(jìn)行初始化的操作,可以重寫init方法。

例子:

//Servlet必須繼承HttpServlet類
@WebServlet(name="firstServlet"
    ,urlPatterns={"/firstServlet"})
public class FirstServlet extends HttpServlet
{
    //客戶端的響應(yīng)方法,使用該方法可以響應(yīng)客戶端的所有類型請(qǐng)求
    public void service(HttpServletRequest request,
        HttpServletResponse response)
        throws ServletException,java.io.IOException
    {
        //設(shè)置解碼方式
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        //獲取name的請(qǐng)求參數(shù)
        String name = request.getParameter("name");
        //獲取gender的請(qǐng)求參數(shù)
        String gender = request.getParameter("gender");
        //獲取color的請(qǐng)求參數(shù)
        String[] color = request.getParamterValues("color");
        //獲取country的請(qǐng)求參數(shù)
        String national = request.getParameter("national");
        //獲取頁(yè)面輸出流
        PrintStream out = new PrintStream(response.getOutputStream());
        //輸出HTML頁(yè)面標(biāo)簽
        out.println("");
        out.println("");
        out.println("Servlet測(cè)試");
        out.println("");
        out.println("");
        //輸出請(qǐng)求參數(shù):name
        out.println("name "+name + "
"); //輸出請(qǐng)求參數(shù):gender out.println("gender "+gender + "
"); //輸出請(qǐng)求參數(shù):color for(String c:color) { out.println("color " + c +"
"); } //輸出請(qǐng)求參數(shù):national out.println("national "+national); out.println(""); out.println(""); } }

Servlet和JSP的區(qū)別在于:

Servlet中沒有內(nèi)置對(duì)象,原來(lái)JSP中的內(nèi)置對(duì)象都必須由程序顯式創(chuàng)建

對(duì)于靜態(tài)的HTML標(biāo)簽,Servlet都必須使用頁(yè)面輸出流逐行輸出

Servlet的配置

編輯后的Servlet文件要編譯成class文件,然后將文件放在WEB-INF/classes中才能夠響應(yīng)用戶請(qǐng)求。而且還要將Servlet配置在web應(yīng)用中(修改web.xml)

配置Servlet的方式有兩種(Servlet3.0開始):

在Servlet類中使用@WebServlet注解進(jìn)行配置

通過(guò)在web.xml文件中進(jìn)行配置

@WebServlet注解最常用的屬性

name:指定Servlet的名稱

urlPatterns:指定Servlet處理的url

配置Servlet的注意事項(xiàng):

使用注解來(lái)配置Servlet:

1、不要在web.xml文件的根元素中制定metadata-complete="true"
2、不要在web.xml文件中配置該文件

使用web.xml配置Servlet需要配置兩個(gè)部分:

1、配置Servlet的名字:對(duì)應(yīng)web.xml文件中的元素
2、配置Servlet的URL:對(duì)應(yīng)web.xml文件中的元素

通過(guò)配置web.xml文件的例子(通過(guò)注解的方式的例子在上面的代碼中):



    
    firstServlet
    
    FirstServlet



    
    firstServlet
    
    /firstServlet

JSP/Servlet的生命周期

生命周期:

(1)創(chuàng)建Servlet實(shí)例

(2)Web容器調(diào)用Servlet的init方法,對(duì)Servlet進(jìn)行初始化

(3)Servlet初始化后,將一直存在于容器中,響應(yīng)用戶請(qǐng)求。

(4)調(diào)用Servlet的destroy方法銷毀Servlet。

load-on-startup Servlet

load-on-startup Servlet的是Web應(yīng)用啟動(dòng)時(shí)立刻創(chuàng)建Servlet實(shí)例。

配置load-on-startup的Servlet的方式有兩種:

web.xml文件中通過(guò)元素的子元素進(jìn)行配置

通過(guò)@WebServlet注解的loadOnStartup屬性指定


(不管通過(guò)哪種方式,都之接收一個(gè)整型值,數(shù)字越小代表優(yōu)先級(jí)越高)

注解配置:

@WebServlet(loadOnStartup=1)
public class TimerServlet extends HttpServlet
{
    public void init(ServletConfig config)throws ServletException
    {
        super.init(config);
        Timer t = new Timer(1000.new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                System.out.println(new Date());
            }
        });
    }
}

web.xml配置:


    
    timerServlet
    
    hsr.TimerServlet
    
    1

訪問Servlet的配置參數(shù)

為Servlet配置參數(shù)的方法:

通過(guò)@WebServletinitParam屬性指定

web.xml文件的的子元素指定

通過(guò)@WebServlet指定:

@WebServlet(name="testServlet",
    urlPatterns={"/testServlet"},
    initParam={
        @WebInitParam(name="Param_name1",value="Param_value1"),
        @WebInitParam(name="Param_name2",value="Param_value2")
    })

通過(guò)wel.xml指定:


    param_name
    param_name

訪問配置參數(shù):

//獲取ServletConfig對(duì)象
ServletConfig config = getServletConfig();
//通過(guò)ServletConfig對(duì)象獲取參數(shù)
String param = config.getInitParameter("param_name");

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/67774.html

相關(guān)文章

  • JavaWeb從0開始學(xué)(一)-----第一個(gè)Web應(yīng)用程序與JSP工作原理

    摘要:當(dāng)后繼請(qǐng)求相同的頁(yè)面時(shí),容器加載之前生成的類,并且通知去執(zhí)行已經(jīng)存在的字節(jié)碼,從而省去了轉(zhuǎn)換的過(guò)程,這也是第一次執(zhí)行頁(yè)面時(shí)間較長(zhǎng)的原因。 以往學(xué)習(xí)的時(shí)候大多是看完書或者看完視頻,動(dòng)手實(shí)踐一下就OK了。然而過(guò)了一段時(shí)間我發(fā)現(xiàn)東西都忘差不多了,需要復(fù)習(xí)才能重新掌握。現(xiàn)在開始學(xué)習(xí)JavaWeb了,我將在這里記錄自己的學(xué)習(xí)的一點(diǎn)一滴,不僅便于自己以后回顧知識(shí)點(diǎn),也希望能對(duì)JavaWeb初學(xué)者有...

    CloudDeveloper 評(píng)論0 收藏0
  • Servlet學(xué)習(xí)筆記

    摘要:學(xué)習(xí)筆記工作以來(lái)就一直在用各種框架,比如,這些,向外提供接口都很方便,但是一直在想它的內(nèi)部是怎樣對(duì)外暴露服務(wù)的,正好之前學(xué)習(xí)基礎(chǔ)的時(shí)候也沒好好看這塊,抽個(gè)時(shí)間學(xué)習(xí)總結(jié)一下,也能更好的理解掌握現(xiàn)在的框架。 Servlet學(xué)習(xí)筆記 工作以來(lái)就一直在用各種web框架,比如SpringMVC,Spring Cloud這些,向外提供接口都很方便,但是一直在想它的內(nèi)部是怎樣對(duì)外暴露服務(wù)的,正好之前...

    kohoh_ 評(píng)論0 收藏0
  • 慕課網(wǎng)_《Java模板引擎之Freemarker》學(xué)習(xí)總結(jié)

    摘要:時(shí)間年月日星期日說(shuō)明本文部分內(nèi)容均來(lái)自慕課網(wǎng)。整體目錄結(jié)構(gòu)如下項(xiàng)目文件用于數(shù)據(jù)持久化配置項(xiàng)目配置配置視圖解析器配置靜態(tài)資源映射配置配置配置自定義指令配置解析器配置,類似于項(xiàng)目啟動(dòng)類新建,注冊(cè)配置類,并將其和當(dāng)前關(guān)聯(lián)。 時(shí)間:2017年3月19日星期日說(shuō)明:本文部分內(nèi)容均來(lái)自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:無(wú)個(gè)人學(xué)習(xí)源碼:https://githu...

    xumenger 評(píng)論0 收藏0
  • JAX-RS 2.0 中 REST 四種服務(wù)類型

    摘要:當(dāng)不存在子類,也不存在子類時(shí),規(guī)范中定義,在這種情況下,為服務(wù)動(dòng)態(tài)生成一個(gè)名為的實(shí)例,并自動(dòng)探測(cè)匹配資源。其中是中的基類,它繼承于情況二當(dāng)不存在子類,但是存在子類時(shí)。以上就是規(guī)范中定義的四種服務(wù)的方式。 最近在學(xué)習(xí) jersey 框架。他是 目前比較流行的 基于 JAX-RS 2.0 規(guī)范實(shí)現(xiàn)的 RESTful 框架。 我是跟著 《Java RESTful Web Service 實(shí)...

    bbbbbb 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<