大战熟女丰满人妻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實現方式”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国内精品久久久久影院不卡 | 狠狠色综合久久婷婷 | 不卡中文 | 亚洲成人www| 国产成人91一区二区三区 | 91亚洲国产成人久久精品网站 | 99久久精品国产免看国产一区 | 一本清高清dvd日本播放器 | 久久婷婷综合在线视频观看6 | 一级毛片在线看在线播放 | 四虎在线免费视频 | 在线视频综合视频免费观看 | 91视频一区二区 | 亚洲瑟瑟网 | 在线欧美精品国产综合五月 | 亚洲欧美一区二区三区在线播放 | 高清在线一区二区三区亚洲综合 | 天天干天天天天 | 国产免费自拍视频 | 99久久精品免费看国产麻豆 | 成年激情网 | 色偷偷91久久综合噜噜噜 | 老司机福利精品 | 日本亚洲a | 日本高中生一级乇片 | 欧美不卡视频 | cao美女视频网站在线观看 | 日本一区二区三区四区在线观看 | 国产一区二区精品久久岳 | 亚洲国产模特在线播放 | 深夜福利国产精品亚洲尤物 | 日韩精品一区二区三区视频 | 久久国内精品自在自线观看 | 色综合天天综合网国产人 | 在线成人aa在线看片 | 一级特黄特黄毛片欧美的 | 亚洲欧美日韩中文字幕在线一 | 午夜免费福利不卡网址92 | 夜色视频一区二区三区 | 狠狠色噜狠狠狠狠色综合久 | 久久精品 |