1. 程式人生 > >servlet實現的三種方式

servlet實現的三種方式

(1)方法一:

  1. //這是第一個實現servlet的方法,使用時限servlet介面的方法來實現,使用的時候需要引用servlet-api.jar
  1. package com.lc;  
  2. import javax.servlet.*;  
  3. import java.io.*;  
  4. import javax.servlet.ServletConfig;  
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.ServletRequest;  
  7. import javax.servlet.ServletResponse;  
  8. import java.io.IOException;  
  9. publicclass Hello implements Servlet{  
  10.     //該函式用於初始化該servlet(類似於類的建構函式)
  11.     //該函式只會被呼叫一次(當用戶第一次訪問該servlet是被呼叫)
  12.     publicvoid init(ServletConfig parm1) throws ServletException {  
  13.         System.out.println("init it!");  
  14.     }  
  15.     public ServletConfig getServletConfig() {  
  16.         returnnull;  
  17.     }  
  18.     //這個函式用於處理業務邏輯
  19.     //程式設計師應當那個當業務邏輯邏輯程式碼寫在這裡
  20.     //當用戶訪問servlet時都會被呼叫
  21.     //req用於獲得客戶端的資訊  
  22.     //res使用者想客戶端返回資訊 (可以認為是遊覽器)
  23.     publicvoid service(ServletRequest req, ServletResponse res) throws ServletException, IOException {  
  24.         //從res中得到Printwriter
  25.         System.out.println("service it!"); //在控制檯顯示
  26.         PrintWriter pw = res.getWriter();  
  27.         pw.println("hello world!");//在遊覽器中顯示
  28.     }  
  29.     public String getServletInfo() {  
  30.         return"";  
  31.     }  
  32.     //三種情況導致destroy的呼叫:
  33.     //1.reload 該servlet(webApps)
  34.     //2.關閉tomcat
  35.     //3.關機
  36.     publicvoid destroy() {  
  37.         //銷燬servt例項 實際就是釋放記憶體
  38.         System.out.println("destroy it!");  
  39.     }  
  40. }  

(2)方法二:
  1. //第二個實現servlet程式,繼承GenericServlet  這種方法很簡單
  2. package com.tsinghua;  
  3. import javax.servlet.GenericServlet;  
  4. import java.io.*;  
  5. import javax.servlet.*;  
  6. publicclass HelloGenericServlet extends GenericServlet{  
  7.     //重寫service方法即可
  8.     publicvoid service(ServletRequest req,ServletResponse res){  
  9.         //返回hello world!generic
  10.         try{  
  11.             PrintWriter pw =res.getWriter();  
  12.             pw.println("Hello world! generic!");  
  13.         }  
  14.         catch(Exception ex){  
  15.             ex.printStackTrace();  
  16.         }  
  17.     }  
  18. }  

(3)方法三:
  1. //第三個servlet實現程式,通過繼承HttpServlet
  2. package com.tsinghua;  
  3. import javax.servlet.http.*;  
  4. import java.io.*;  
  5. publicclass HelloHttp extends HttpServlet{  
  6.     //處理get請求
  7.     //req:用於獲得客戶端(遊覽器)的資訊
  8.     //res:用於向客戶端(遊覽器)返回資訊
  9.     publicvoid doGet(HttpServletRequest req,HttpServletResponse res){  
  10.         //業務邏輯
  11.         try{  
  12.             PrintWriter pw = res.getWriter();  
  13.             pw.println("hello http!");  
  14.         }  
  15.         catch(Exception ex){  
  16.             ex.printStackTrace();  
  17.         }  
  18.     }  
  19.     //處理post請求
  20.     //req:用於獲得客戶端(遊覽器)的資訊
  21.     //res:用於向客戶端(遊覽器)返回資訊
  22.     publicvoid doPost(HttpServletRequest req,HttpServletResponse res){  
  23.         this.doGet(req,res);  
  24.     }  
  25. }  

在實現上述三種方法的時候 需要配置web.xml檔案,程式碼如下:
  1. <?xmlversion="1.0"encoding="ISO-8859-1"?>
  2. <web-appxmlns="http://java.sun.com/xml/ns/javaee"
  3.   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
  5.                       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
  6.   version="3.0"
  7.   metadata-complete="true">
  8.   <display-name>Welcome to Tomcat</display-name>
  9.   <description>
  10.      Welcome to Tomcat  
  11.   </description>
  12. <!--JSP servlet mappings starts-->
  13.   <servlet>
  14.     <!--給自己的servlet起個名字  任意的名字-->
  15.     <servlet-name>Hello</servlet-name>
  16.     <!--指明servlet的路徑(包名+類名)-->
  17.     <servlet-class>com.tsinghua.Hello</servlet-class>
  18.   </servlet>
  19.    <servlet-mapping>
  20.     <!--和上邊的servlet的名字是一樣的-->
  21.     <servlet-name>Hello</servlet-name>
  22.     <!--這是在遊覽器中輸入的訪問該servlet的url-->
  23.     <url-pattern>/helloworld</url-pattern>
  24.   </servlet-mapping>
  25.    <servlet>
  26.     <servlet-name>HelloGenericServlet</servlet-name>
  27.     <servlet-class>com.tsinghua.HelloGenericServlet</servlet-class>
  28.   </servlet>
  29.    <servlet-mapping>
  30.     <servlet-name>HelloGenericServlet</servlet-name>
  31.     <url-pattern>/helloGeneric</url-pattern>
  32.   </servlet-mapping>
  33.    <servlet>
  34.     <servlet-name>HelloHttp</servlet-name>
  35.     <servlet-class>com.tsinghua.HelloHttp</servlet-class>
  36.   </servlet>
  37.    <

    相關推薦

    實現Servlet方式(與GenericServlet、HttpServlet的關係)

    WEB伺服器可以存放資料,他是一個“容器”,作用是接收使用者的請求,再對這個請求做出相應。 Java的Web伺服器必須要支援JSP/Servlet(作為JSP/Servlet的容器)。 所以JSP/Servlet就是JavaWeb伺服器的一套規範。 所以要進行J

    實現Servlet方式

    一、實現Servlet介面 //實現servlet方法開發servlet package com.hpu.ych; import java.io.*; import javax.servlet.*; public class Hello implements Servl

    創建servlet方式

    告訴 open 創建 esp tps 獲取 pack view throw 第一種方式,實現Servlet接口 1 package com.example.servlet; 2 3 import java.io.IOException; 4 5 impor

    搭建FTP服務,實現方式的訪問:1.匿名訪問;2,本地用戶訪問;3虛擬用戶訪問。

    行程 工作環境 能夠 ftp用戶 a10 linu 進入 編輯 binary FTP服務(File Transfer Protocol,文件傳輸協議)是典型的C/S結構 的應用層協議,需要由服務端軟件,客戶端軟件兩部分共同實 現文件

    Struts2訪問Servlet方式

    思維導圖 實現特定介面訪問 package com.pc.web.action; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.Http

    建立servlet方式

    1,什麼是servlet? servlet是JavaWeb的三大元件之一,它屬於動態資源,servlet的作用就是處理請求,伺服器會把接收到的請求交給servlet來處理,它是可以被瀏覽器訪問的動態資源。 在servlet中通常需要:- 接收

    servlet實現方式

    一般來說,寫一個servlet,有三種實現方式: 1、實現Servlet介面。 2、繼承GenericServlet。 3、繼承HttpServlet。 第三種方式是現在比較常用的。 第一種: package com.tsinghua; //這是我的第一個servlet,使

    servlet實現方式

    (1)方法一://這是第一個實現servlet的方法,使用時限servlet介面的方法來實現,使用的時候需要引用servlet-api.jarpackage com.lc;  import javax.servlet.*;  import java.io.*;  import

    javaWeb基礎之Servlet實現方式以及兩配置方式

    一、Servlet的三種實現方式 Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程式或服務聯結器,用Java編寫的伺服器端程式,主要功能在於互動式地瀏覽和修改資料,生成動態Web內容。 1、Servlet的第一種建立方式:繼承Ht

    servlet實現方式對比

    第一種:  實現Servlet 介面第二種:  繼承GenericServlet第三種  繼承HttpServlet (開發中使用)通過檢視api文件發現他們三個(servlet 和GenericServlet和HttpServlet)的關係是     Servlet是一個介面,其中含有很多方法如:init(

    Java多線程實現方式

    get() warning 三種方式 方式 緩存 運行 了解 ren ava Java多線程實現方式主要有三種:繼承Thread類、實現Runnable接口、使用ExecutorService、Callable、Future實現有返回結果的多線程。其中前兩種方式線程執行完後

    JAVA實現Base64編碼的方式

    ack ons static nts bstr clas [] ram trace 摘要: Javabase64編碼的三種方式 有如下三種方式: 方式一:commons-codec.jar Java代碼 1. String base64String="whuang12

    06.實現servlet的幾方式,以及接口或者類之間的關系

    ssa 圖片 servlet 容器 實例化 設備 blog public ide 接口:Servlet、ServletConfig、ServletRequest、ServletResponse、HttpServletRequest、HttpServletResponse、S

    前端動畫效果實現方式

    near 動畫效果 timeout css屬性 轉移 動畫 sla 三種方式 內存 第一種,js中setTimeout和setintervel,把動畫元素設置position:absalute,然後操作left、top來移動。此種方法內存消耗大,顯示效果差,不推薦。 第二種

    nginx反代httpd,實現tomcat代理模型至後端的tomcat服務器,會話綁定的方式

    httpmod_jkajp 會話綁定 構建tomcat集群,實現前端一臺nginx反代,到後端的apache服務器,由apache負責向後端的tomcat服務器進行資源調度,這樣的模式比直接用nginx反代到後端主機,tomcat服務器所受到的壓力會更小,服務將會更加穩定,這樣的模式是經過實踐檢驗出來的。如

    在ABAP裏實現條件斷點的方式

    png abap ble 公眾 動態 觀察 創建 oop 不可 背景 有不同的同事問我這個問題:例如下圖的LOOP要執行1000次,我只對其中的某一次比如第501次循環感興趣,我肯定不可能按500次F5然後進入第501次的調試。或者我只對LOOP裏某個變量為某一個具體值的那

    HTML實現滾動到頂部的方式

    HTML實現滾動到頂部的三種方式通過body.scrollTop(推薦): document.body.scrollTop = 0 通過元素的scrollIntoView()方法: ele.scrollIntoView() 通過內部鏈接: <a href="#top">滾動到頂部</a>

    javascript實現繼承的方式

    定義 數列 .net 一個數 str www div name type屬性 一、原型鏈繼承 function Parent(){} function Child(){} Child.prototype = new Parent(); 通過對象child的p

    單例模式實現方式

    初始化 實例 得到 assm ini 0.10 文件中 base cal 1、什麽是單例模式 單例模式:基於某種方法實例化多次得到實例是同一個2、為何用單例模式 當實例化多次得到的對象中存放的屬性都一樣的情況,應該將多個對象指向同一個內存,即同一個實例3、如何用

    詳解Linux搭建vsftp服務器通過方式實現文件傳輸

    x86 sys fig passwd 問題: mage vpd cee 啟用 概述 FTP(File Transfer Protocol)中文稱為“文件傳輸協議”。用於Internet上的控制文件的雙向傳輸。 工作原理 一、主動模式: 1、客戶端通過用戶名和密碼登錄服務器