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

資訊專欄INFORMATION COLUMN

[Java Web]Servlet 的學習

dreamGong / 1254人閱讀

摘要:的學習的開發是運行在服務器端的程序,用于處理及響應客戶端的請求。是個特殊的類,必須繼承。另外還包含兩個方法創建實例銷毀實例不需要為編寫構造器,如果需要對進行初始化的操作,可以重寫方法。調用的方法銷毀。的是應用啟動時立刻創建實例。

Servlet 的學習 Servlet的開發

Servlet是運行在服務器端的程序,用于處理及響應客戶端的請求。

Servlet是個特殊的Java類,必須繼承HttpServlet。每個Servlet可以響應客戶端的請求。

Servlet相應客戶端請求的方法:

doGet():響應客戶端的Get請求

doPost():響應客戶端的POST請求

doPut():響應客戶端的PUT請求

doDelete():響應客戶端的DELETE請求

大部分時候,Servlet對于所有請求的響應都是一樣的,所以可以只重寫service()方法。

另外HttpServlet還包含兩個方法:

init(ServletConfig config):創建Servlet實例

destroy():銷毀Servlet實例

不需要為Servlet編寫構造器,如果需要對Servlet進行初始化的操作,可以重寫init方法。

例子:

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

Servlet和JSP的區別在于:

Servlet中沒有內置對象,原來JSP中的內置對象都必須由程序顯式創建

對于靜態的HTML標簽,Servlet都必須使用頁面輸出流逐行輸出

Servlet的配置

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

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

在Servlet類中使用@WebServlet注解進行配置

通過在web.xml文件中進行配置

@WebServlet注解最常用的屬性

name:指定Servlet的名稱

urlPatterns:指定Servlet處理的url

配置Servlet的注意事項:

使用注解來配置Servlet:

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

使用web.xml配置Servlet需要配置兩個部分:

1、配置Servlet的名字:對應web.xml文件中的元素
2、配置Servlet的URL:對應web.xml文件中的元素

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



    
    firstServlet
    
    FirstServlet



    
    firstServlet
    
    /firstServlet

JSP/Servlet的生命周期

生命周期:

(1)創建Servlet實例

(2)Web容器調用Servlet的init方法,對Servlet進行初始化

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

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

load-on-startup Servlet

load-on-startup Servlet的是Web應用啟動時立刻創建Servlet實例。

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

web.xml文件中通過元素的子元素進行配置

通過@WebServlet注解的loadOnStartup屬性指定


(不管通過哪種方式,都之接收一個整型值,數字越小代表優先級越高)

注解配置:

@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的配置參數

為Servlet配置參數的方法:

通過@WebServletinitParam屬性指定

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

通過@WebServlet指定:

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

通過wel.xml指定:


    param_name
    param_name

訪問配置參數:

//獲取ServletConfig對象
ServletConfig config = getServletConfig();
//通過ServletConfig對象獲取參數
String param = config.getInitParameter("param_name");

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/67774.html

相關文章

  • JavaWeb從0開始學(一)-----第一個Web應用程序與JSP工作原理

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

    CloudDeveloper 評論0 收藏0
  • Servlet學習筆記

    摘要:學習筆記工作以來就一直在用各種框架,比如,這些,向外提供接口都很方便,但是一直在想它的內部是怎樣對外暴露服務的,正好之前學習基礎的時候也沒好好看這塊,抽個時間學習總結一下,也能更好的理解掌握現在的框架。 Servlet學習筆記 工作以來就一直在用各種web框架,比如SpringMVC,Spring Cloud這些,向外提供接口都很方便,但是一直在想它的內部是怎樣對外暴露服務的,正好之前...

    kohoh_ 評論0 收藏0
  • 慕課網_《Java模板引擎之Freemarker》學習總結

    摘要:時間年月日星期日說明本文部分內容均來自慕課網。整體目錄結構如下項目文件用于數據持久化配置項目配置配置視圖解析器配置靜態資源映射配置配置配置自定義指令配置解析器配置,類似于項目啟動類新建,注冊配置類,并將其和當前關聯。 時間:2017年3月19日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:無個人學習源碼:https://githu...

    xumenger 評論0 收藏0
  • JAX-RS 2.0 中 REST 四種服務類型

    摘要:當不存在子類,也不存在子類時,規范中定義,在這種情況下,為服務動態生成一個名為的實例,并自動探測匹配資源。其中是中的基類,它繼承于情況二當不存在子類,但是存在子類時。以上就是規范中定義的四種服務的方式。 最近在學習 jersey 框架。他是 目前比較流行的 基于 JAX-RS 2.0 規范實現的 RESTful 框架。 我是跟著 《Java RESTful Web Service 實...

    bbbbbb 評論0 收藏0

發表評論

0條評論

dreamGong

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<