Servlet實現的三種方法

來源:互聯網
上載者:User

標籤:servlet   javaee   web.xml   genericservlet   httpservlet   

(1)方法一:

//這是第一個實現servlet的方法,使用時限servlet介面的方法來實現,使用的時候需要引用servlet-api.jar
package com.lc;import javax.servlet.*;import java.io.*;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import java.io.IOException;public class Hello implements Servlet{//該函數用於初始化該servlet(類似於類的建構函式)//該函數只會被調用一次(當使用者第一次訪問該servlet是被調用)public void init(ServletConfig parm1) throws ServletException {System.out.println("init it!");}public ServletConfig getServletConfig() {return null;}//這個函數用於處理商務邏輯//程式員應當那個當商務邏輯邏輯代碼寫在這裡//當使用者訪問servlet時都會被調用//req用於獲得用戶端的資訊  //res使用者想用戶端返回資訊 (可以認為是遊覽器)public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {//從res中得到PrintwriterSystem.out.println("service it!"); //在控制台顯示PrintWriter pw = res.getWriter();pw.println("hello world!");//在遊覽器中顯示}public String getServletInfo() {return "";}//三種情況導致destroy的調用://1.reload 該servlet(webApps)//2.關閉tomcat//3.關機public void destroy() {//銷毀servt執行個體 實際就是釋放記憶體System.out.println("destroy it!");}}

(2)方法二:

//第二個實現servlet程式,繼承GenericServlet  這種方法很簡單package com.tsinghua;import javax.servlet.GenericServlet;import java.io.*;import javax.servlet.*;public class HelloGenericServlet extends GenericServlet{//重寫service方法即可public void service(ServletRequest req,ServletResponse res){//返回hello world!generictry{PrintWriter pw =res.getWriter();pw.println("Hello world! generic!");}catch(Exception ex){ex.printStackTrace();}}}

(3)方法三:

//第三個servlet實現程式,通過繼承HttpServletpackage com.tsinghua;import javax.servlet.http.*;import java.io.*;public class HelloHttp extends HttpServlet{//處理get請求//req:用於獲得用戶端(遊覽器)的資訊//res:用於向用戶端(遊覽器)返回資訊public void doGet(HttpServletRequest req,HttpServletResponse res){//商務邏輯try{PrintWriter pw = res.getWriter();pw.println("hello http!");}catch(Exception ex){ex.printStackTrace();}}//處理post請求//req:用於獲得用戶端(遊覽器)的資訊//res:用於向用戶端(遊覽器)返回資訊public void doPost(HttpServletRequest req,HttpServletResponse res){this.doGet(req,res);}}

在實現上述三種方法的時候 需要配置web.xml檔案,代碼如下:

<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  version="3.0"  metadata-complete="true">  <display-name>Welcome to Tomcat</display-name>  <description>     Welcome to Tomcat  </description>  <!--JSP servlet mappings starts-->  <servlet>    <!--給自己的servlet起個名字  任意的名字-->    <servlet-name>Hello</servlet-name>    <!--指明servlet的路徑(包名+類名)-->    <servlet-class>com.tsinghua.Hello</servlet-class>  </servlet>   <servlet-mapping>    <!--和上邊的servlet的名字是一樣的-->    <servlet-name>Hello</servlet-name>    <!--這是在遊覽器中輸入的訪問該servlet的url-->    <url-pattern>/helloworld</url-pattern>  </servlet-mapping>   <servlet>    <servlet-name>HelloGenericServlet</servlet-name>    <servlet-class>com.tsinghua.HelloGenericServlet</servlet-class>  </servlet>   <servlet-mapping>    <servlet-name>HelloGenericServlet</servlet-name>    <url-pattern>/helloGeneric</url-pattern>  </servlet-mapping>   <servlet>    <servlet-name>HelloHttp</servlet-name>    <servlet-class>com.tsinghua.HelloHttp</servlet-class>  </servlet>   <servlet-mapping>    <servlet-name>HelloHttp</servlet-name>    <url-pattern>/helloHttp</url-pattern>  </servlet-mapping><!--JSP servlet mappings end--></web-app>


ok!


Servlet實現的三種方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.