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


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美成人免费全部观看天天性色 | 男女生性毛片免费观看 | 亚洲综合色婷婷 | 亚洲精品一区二区三区婷婷 | 一极毛片| 精品国产免费久久久久久婷婷 | 免费看黄色的视频 | 国产一区亚洲欧美成人 | 国产成人免费视频 | 伊人77| 精品欧美一区二区三区四区 | 性欧美4k高清精品 | 久久66热re国产毛片基地 | 特黄未满14周岁毛片 | 九一视频在线免费观看 | 伊人精品视频在线观看 | 久青草国产在线视频_久青草免 | 香蕉视频一级片 | xxxx日本免费高清视频 | 深夜影院在线视频观看 | 国产一久久香蕉国产线看观看 | 在线欧美国产 | 日本精品视频一区二区三区 | 添人人躁日日躁夜夜躁夜夜揉 | 中文字幕在线视频不卡 | 久久亚洲国产精品一区二区 | 欧日韩在线不卡视频 | 精品国产人成亚洲区 | 黄页网站 播放器 日本 | 四虎四虎1515whh | 91日韩 | 国产精品短视频 | a级毛片免费完整视频 | 欧美成人高清免费大片观看 | 久久久久香蕉视频 | 视频一区欧美 | 在线观看国产精品日本不卡网 | 99r精品在线 | 国产成人无精品久久久久国语 | 日本人又黄又爽免费视频 | 亚洲视频在线观看一区 |