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

專注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ù)文檔推薦 >>
主站蜘蛛池模板: 欧美成人午夜影院 | 午夜精品久久久久久久第一页 | 亚洲天堂欧美 | 26uuu中文字幕| 青青草国产精品欧美成人 | 欧美日韩亚洲m码色帝国 | 在线毛片免费观看 | 日本三级视频在线 | 97在线 | 亚洲| 日日夜夜操美女 | 午夜伦理片在线观看 | 日韩伦理免费在线观看 | 日本一区二区高清不卡 | 国产美女一级ba大片免色 | 美女黄网站全是免费网址 | 男女摸下面刺激免费视频软件 | 亚洲爆乳无码一区二区三区 | 国产v国产v片大片线观看网站 | 乱色伦短篇小说 | 午夜18免费观看 | 在线观看国产区 | free性中国hd护士高清 | 欧美色欧美亚洲高清在线视频 | 美国大黄一片免费看 | avtt亚洲一区中文字幕 | 国产黄大片在线观看视频 | 性xxxxfreexxxxx | 国产亚洲人成网站在线观看 | 国产白丝在线观看 | 亚洲精品人成无码中文毛片 | 一二三四社区在线视频社区 | 国产成人禁片免费观看视频 | 久久久精品2018免费观看 | 久久午夜免费视频 | 日韩大片| 亚洲欧美日韩v中文在线 | 欧美大胆一级视频 | 久久综合色网 | 一级在线免费观看 | 国产午夜在线观看 | 国产高清不卡一区二区 |