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

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Javaweb學(xué)習(xí)視頻全集:Servlet實(shí)現(xiàn)方式

Javaweb學(xué)習(xí)視頻全集:Servlet實(shí)現(xiàn)方式

更新時(shí)間:2020-03-06 10:37:10 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2289次


  Java編寫(xiě)的服務(wù)器端程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。使用Servlet,可以收集來(lái)自網(wǎng)頁(yè)表單的用戶輸入,呈現(xiàn)來(lái)自數(shù)據(jù)庫(kù)或者其他源的記錄,還可以動(dòng)態(tài)創(chuàng)建網(wǎng)頁(yè)。


Javaweb學(xué)習(xí)視頻全集:Servlet實(shí)現(xiàn)方式


  二、實(shí)現(xiàn)方式


  1、繼承HttpServlet


  API簡(jiǎn)介


  繼承自GenericServlet.遵守HTTP協(xié)議實(shí)現(xiàn),以設(shè)計(jì)模式的角度看,HttpServlet擔(dān)任抽象模板角色,模板方法:由service()方法擔(dān)任?;痉椒ǎ河蒬oPost()、doGet()等方法擔(dān)任。service()方法流程,省略了部分判斷邏輯。該方法調(diào)用七個(gè)do方法中的一個(gè)或幾個(gè),完成對(duì)客戶端請(qǐng)求的響應(yīng)。這些do方法需要由HttpServlet的具體子類(lèi)提供,這種API封裝是典型的模板方法模式。


  代碼案例


  publicclassServletOneImplextendsHttpServlet{


  @Override


  protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)


  throwsServletException,IOException{


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


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


  }


  @Override


  protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)


  throwsServletException,IOException{


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


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


  }


  }


  2、繼承GenericServlet


  API簡(jiǎn)介


  Servlet接口和ServletConfig接口的實(shí)現(xiàn)類(lèi).一個(gè)抽象類(lèi).其中的service方法為抽象方法。


  代碼案例


  publicclassServletTwoImplextendsGenericServlet{


  @Override


  publicvoidservice(ServletRequestservletRequest,ServletResponseservletResponse)


  throwsServletException,IOException{


  HttpServletResponseresponse=(HttpServletResponse)servletResponse;


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


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


  }


  }


  3、實(shí)現(xiàn)Servlet接口


  API簡(jiǎn)介


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


  代碼案例


  publicclassServletThreeImplimplementsServlet{


  @Override


  publicvoidinit(ServletConfigservletConfig)throwsServletException{


  servletConfig.getServletName();


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


  }


  @Override


  publicvoidservice(ServletRequestservletRequest,ServletResponseservletResponse)


  throwsServletException,IOException{


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


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


  HttpServletResponseresponse=(HttpServletResponse)servletResponse;


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


  }


  @Override


  publicvoiddestroy(){


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


  }


  @Override


  publicServletConfiggetServletConfig(){


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


  returnnull;


  }


  @Override


  publicStringgetServletInfo(){


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


  returnnull;


  }


  }


  三、生命周期


  加載和實(shí)例化


  當(dāng)Servlet容器啟動(dòng)或客戶端發(fā)送請(qǐng)求時(shí),Servlet容器會(huì)查找是否存在該Servlet實(shí)例,若存在,則直接讀取該實(shí)例響應(yīng)請(qǐng)求;如果不存在,就創(chuàng)建一個(gè)Servlet實(shí)例(屬于單例設(shè)計(jì)模式)。load-on-startup可以配置創(chuàng)建時(shí)序。


  初始化:init()


  實(shí)例化后,Servlet容器將調(diào)用init方法一次,初始化當(dāng)前Servlet。


  服務(wù):service()


  初始化后,Servlet處于響應(yīng)請(qǐng)求的就緒狀態(tài)。當(dāng)接收到客戶端請(qǐng)求時(shí),調(diào)用service()的方法處理客戶端請(qǐng)求,HttpServlet的service()方法會(huì)根據(jù)不同的請(qǐng)求調(diào)用不同的模板方法。


  銷(xiāo)毀:destroy()


  當(dāng)Servlet容器關(guān)閉時(shí),Servlet實(shí)例也隨時(shí)銷(xiāo)毀。關(guān)閉Tomcat服務(wù)時(shí)可以通過(guò)日志打印看到該方法的執(zhí)行。


  四、運(yùn)行配置


  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>


  請(qǐng)求:http://localhost:6003/servletOneImpl測(cè)試。


  servlet-name:Servlet注冊(cè)名稱。


  servlet-class:Servlet全路徑類(lèi)名。


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


  url-pattern:Servlet訪問(wèn)的映射路徑。


  2、線程池運(yùn)行


  觀察上述第三種Servlet實(shí)現(xiàn)方式的日志打?。篢hread.currentThread().getId());。


  ThreadId:32


  ThreadId:33


  ThreadId:32


  ThreadId:31


  ThreadId:32


Javaweb學(xué)習(xí)視頻全集:Servlet實(shí)現(xiàn)方式


      以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Javaweb學(xué)習(xí)視頻全集:Servlet實(shí)現(xiàn)方式”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产日韩高清一区二区三区 | 超级h荡的辣文小说乱bh | 久久免费视频网站 | 激情久久久久久久久久 | 黄色免费大片 | 久 在线播放 | 国产福利在线网址成人 | 亚洲一区2区三区4区5区 | 国产精品一区二区在线观看 | 国产91成人 | 欧美影院一区二区 | 在线观看国产精品日本不卡网 | 欧美精品久久久亚洲 | 中国a毛片 | 福利视频观看 | 日本伦理视频在线观看 | 色偷偷777| 亚州色拍拍拍 | 国产精品嫩草影院奶水 | www日韩| 久久午夜影院 | 亚洲美女爱做色禁图无遮 | 欧美乱妇视频 | 久久综合网址 | 在线久操| 国产一国产一级毛片视频 | 在线欧美69v免费观看视频 | 一级做a爰全过程免费视频 一级做a爰片鸭王 | 欧美日韩中文字幕一区二区高清 | 在线色| 国内成人免费视频 | 天堂黄色| 成年人在线免费 | 日韩娇小性hd | 欧美日韩中文一区 | 午夜久久久久久亚洲国产精品 | 日韩精品中文字幕视频一区 | 午夜久久久久久亚洲国产精品 | 日本三区四区免费高清不卡 | h片免费观看 | 怡春院日本一区二区久久 |