黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Javaweb學習視頻全集:Servlet實現方式

Javaweb學習視頻全集:Servlet實現方式

更新時間:2020-03-06 10:37:10 來源:動力節點 瀏覽2260次


  Java編寫的服務器端程序,具有獨立于平臺和協議的特性,主要功能在于交互式地瀏覽和生成數據,生成動態Web內容。使用Servlet,可以收集來自網頁表單的用戶輸入,呈現來自數據庫或者其他源的記錄,還可以動態創建網頁。


Javaweb學習視頻全集:Servlet實現方式


  二、實現方式


  1、繼承HttpServlet


  API簡介


  繼承自GenericServlet.遵守HTTP協議實現,以設計模式的角度看,HttpServlet擔任抽象模板角色,模板方法:由service()方法擔任。基本方法:由doPost()、doGet()等方法擔任。service()方法流程,省略了部分判斷邏輯。該方法調用七個do方法中的一個或幾個,完成對客戶端請求的響應。這些do方法需要由HttpServlet的具體子類提供,這種API封裝是典型的模板方法模式。


  代碼案例


  publicclassServletOneImplextendsHttpServlet{


  @Override


  protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)


  throwsServletException,IOException{


  response.setContentType("text/html;charset=utf-8");


  response.getWriter().print("執行:doGet");


  }


  @Override


  protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)


  throwsServletException,IOException{


  response.setContentType("text/html;charset=utf-8");


  response.getWriter().print("執行:doPost");


  }


  }


  2、繼承GenericServlet


  API簡介


  Servlet接口和ServletConfig接口的實現類.一個抽象類.其中的service方法為抽象方法。


  代碼案例


  publicclassServletTwoImplextendsGenericServlet{


  @Override


  publicvoidservice(ServletRequestservletRequest,ServletResponseservletResponse)


  throwsServletException,IOException{


  HttpServletResponseresponse=(HttpServletResponse)servletResponse;


  response.setContentType("text/html;charset=utf-8");


  response.getWriter().print("執行:service");


  }


  }


  3、實現Servlet接口


  API簡介


  Servlet是一個接口,其中包含init、getServletConfig、service、getServletInfo、destroy幾個核心方法。


  代碼案例


  publicclassServletThreeImplimplementsServlet{


  @Override


  publicvoidinit(ServletConfigservletConfig)throwsServletException{


  servletConfig.getServletName();


  System.out.println("init被調用...");


  }


  @Override


  publicvoidservice(ServletRequestservletRequest,ServletResponseservletResponse)


  throwsServletException,IOException{


  System.out.println("ThreadId:"+Thread.currentThread().getId());


  System.out.println("service被調用...");


  HttpServletResponseresponse=(HttpServletResponse)servletResponse;


  response.getWriter().print("Servlet.Life");


  }


  @Override


  publicvoiddestroy(){


  System.out.println("destroy被調用...");


  }


  @Override


  publicServletConfiggetServletConfig(){


  System.out.println("getServletConfig被調用...");


  returnnull;


  }


  @Override


  publicStringgetServletInfo(){


  System.out.println("getServletInfo被調用...");


  returnnull;


  }


  }


  三、生命周期


  加載和實例化


  當Servlet容器啟動或客戶端發送請求時,Servlet容器會查找是否存在該Servlet實例,若存在,則直接讀取該實例響應請求;如果不存在,就創建一個Servlet實例(屬于單例設計模式)。load-on-startup可以配置創建時序。


  初始化:init()


  實例化后,Servlet容器將調用init方法一次,初始化當前Servlet。


  服務:service()


  初始化后,Servlet處于響應請求的就緒狀態。當接收到客戶端請求時,調用service()的方法處理客戶端請求,HttpServlet的service()方法會根據不同的請求調用不同的模板方法。


  銷毀:destroy()


  當Servlet容器關閉時,Servlet實例也隨時銷毀。關閉Tomcat服務時可以通過日志打印看到該方法的執行。


  四、運行配置


  1、web.xml配置


  <servlet>


  <servlet-name>servletOneImpl</servlet-name>


  <servlet-class>com.node01.servlet.impl.ServletOneImpl</servlet-class>


  </servlet>


  <servlet-mapping>


  <servlet-name>servletOneImpl</servlet-name>


  <url-pattern>/servletOneImpl</url-pattern>


  </servlet-mapping>


  <servlet>


  <servlet-name>servletTwoImpl</servlet-name>


  <servlet-class>com.node01.servlet.impl.ServletTwoImpl</servlet-class>


  </servlet>


  <servlet-mapping>


  <servlet-name>servletTwoImpl</servlet-name>


  <url-pattern>/servletTwoImpl</url-pattern>


  </servlet-mapping>


  <servlet>


  <servlet-name>servletThreeImpl</servlet-name>


  <servlet-class>com.node01.servlet.impl.ServletThreeImpl</servlet-class>


  </servlet>


  <servlet-mapping>


  <servlet-name>servletThreeImpl</servlet-name>


  <url-pattern>/servletThreeImpl</url-pattern>


  </servlet-mapping>


  請求:http://localhost:6003/servletOneImpl測試。


  servlet-name:Servlet注冊名稱。


  servlet-class:Servlet全路徑類名。


  serlvet-mapping:同一個Servlet可以被映射到多個URL上。


  url-pattern:Servlet訪問的映射路徑。


  2、線程池運行


  觀察上述第三種Servlet實現方式的日志打印:Thread.currentThread().getId());。


  ThreadId:32


  ThreadId:33


  ThreadId:32


  ThreadId:31


  ThreadId:32


Javaweb學習視頻全集:Servlet實現方式


      以上就是動力節點Java培訓機構小編介紹的“Javaweb學習視頻全集:Servlet實現方式”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲高清国产品国语在线观看 | 日韩欧美在线综合网 | 97夜夜操| 男人的天堂黄色片 | 麻豆一区区三三四区产品麻豆 | aaaaaaa一级毛片 | 日本成年免费网站 | 一级特黄a免费大片 | 野花影视视频在线观看免费 | 一区二区三区视频在线 | 狠狠操夜夜爱 | 免费可以看黄的视频 s色 | 午夜爱爱小视频 | 欧美日韩国产另类在线观看 | 伊人狠狠色j香婷婷综合 | 99ri在线| 天天干天天在线 | 一级特黄aaa大片 | 日本天堂网站 | 精品精品 | 色一色综合 | 自拍偷拍国语对白 | 亚洲产国偷v产偷v自拍色戒 | 国产成人精品magnet | 欧美丝袜自拍 | 欧洲一级鲁丝片免费 | 操操操免费视频 | 997在线观看视频国产 | 欧美xx片 | 日韩欧美一区在线观看 | 色综合色综合色综合 | 久久精品午夜视频 | 亚洲国产高清一区二区三区 | 国产一级又色又爽又黄大片 | 在线香蕉 | 欧美特级黄色片 | 国产一区二区三区免费在线观看 | 1024国产你懂的日韩 | 毛茸茸free牲交 | 亚洲伦理| 欧美午夜大片 |