大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

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

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


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


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


  二、實現方式


  1、繼承HttpServlet


  API簡介


  繼承自GenericServlet.遵守HTTP協議實現,以設計模式的角度看,HttpServlet擔任抽象模板角色,模板方法:由service()方法擔任?;痉椒ǎ河蒬oPost()、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實現方式的日志打?。篢hread.currentThread().getId());。


  ThreadId:32


  ThreadId:33


  ThreadId:32


  ThreadId:31


  ThreadId:32


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


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


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲第一综合网站 | 久久精品是免费100 久久精品首页 | 国产精品视频福利 | 国产伦一区二区三区免费 | 番茄视频在线观看黄版本免费 | 成人欧美午夜视频毛片 | 欧美色精品 | 成人在线免费小视频 | 九九99九九精彩网站 | 成人国产精品视频 | 亚洲欧美色鬼久久综合 | 色久综合在线 | 日本aaaa级毛片在线看 | 一级日本特黄毛片视频 | 99j久久精品久久久久久 | 日本一级特黄毛片高清视频 | 成人国产精品一区二区网站 | 99热这里只精品99re66 | 亚洲欧美日韩高清一区二区一 | 国产69精品久久久久99 | 91精品国产综合久久欧美 | 日韩a毛片 | 欧美一级毛片免费高清aa | 欧美性白人顶级hd | 免费观看美女光子让男人玩 | 国产日韩精品一区在线观看播放 | 欧美aⅴ | 国产精品99久久99久久久看片 | 午夜免费福利不卡网址92 | 五月天色中色 | 黄色免费观看视频网站 | 青草五月天 | 久久综合久久鬼 | 中文在线播放 | 亚洲另在线日韩综合色 | 国产成人啪精品视频免费网 | 日韩亚洲一区二区三区 | 欧美日韩中文亚洲v在线综合 | 亚洲一区二区三区成人 | 亚洲国产精品a一区二区三区 | 午夜成年人网站 |