java Servlet技術·筆記

Servlet基礎

  1. Servlet技術簡介
    Servlet是一種獨立於平臺和協議的服務器端的java技術,可以用來動態的生成Web界面。Servlet具有非常好的可移植性、強大的功能、更少的投資、更高的效率、更好的安全性等特點
    Servlet一般用來處理HTTP的請求用來返回一個響應,它能夠處理的請求有doGet()、doPost()、service()等方法,在開發Servlet時可以直接繼承javax.servlet.http.HttpServlet類
    值得注意的是Servlet需要在web.xml中配置(或者直接在Servlet類前添加@webServlet),即(映射Servlet的名字、配置Servlet類、初始化參數、進行安全配置、過濾器、監聽器等)。Servlet不僅可以生產HTML腳本輸出,還可以生產二進制表單進行輸出


  2. Servlet技術功能
    (1)創建並返回一個包含基於客戶請求性質的動態內容完整的HTML頁面
    (2)創建可嵌入的一部分的HTML頁面到主HTML頁面
    (3)與其他服務器資源(包括數據庫和基於java的應用程序)進行通信
    (4)用於處理多個客戶機處理連接,接收多個客戶機的輸入,並將結果傳遞到客戶及上
    (5)當允許單連接方式可以傳遞數據的情況下,在瀏覽器上打開applet的新連接,並保持打開狀態;
    當運行客戶機與服務器簡單、高效的執行 繪畫的情況下,applet也可以啓動客戶瀏覽器和服務器之間的連接,可以定製協議通信
    (6)將定製的處理提供給所有服務器的標準程序






  3. Servlet技術特點
  • Servlet技術帶給程序猿最大的優勢就是它可以處理客戶端傳來的HTTP請求,並返回一個響應。總的來說,Servlet具有如下特點
    (1)高效
    (2)方便
    (3)跨平臺
    (4)功能強大
    (5)靈活性和可擴展性
    (6)共享數據
    (7)安全






  1. Servlet的生命週期
    Servlet的生命週期(安123356順序)

  2. Servlet與JSP的區別
    (1)編程方式不同
    (2)Servlet必須在編譯後才能執行
    (3)運行速度不同


  3. Servlet的代碼結構

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class test
 */
@WebServlet("/test")
public class test extends HttpServlet {
   
   
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public test() {
   
   
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
   
		//可編寫使用request讀取請求有關的信息和表單數據的代碼
		//可編寫response指定的HTTP應答狀態的代碼和應答頭的代碼
		PrintWriter out=response.getWriter();
		//可編寫out對象頁面中輸出信息的代碼
	}
}

Servlet常用接口和類

  1. Servlet接口
    javax.servlet包中的類與接口封裝了一個抽象框架,建立請求和產生響應的組件(即Servlet),其中javax.servlet.Servlet是所有Java Servlet的基礎接口
  2. HttpServlet類
    HttpServlet類存放在javax.servlet.http包中,是針對使用HTTP協議的Web服務器的Servlet類。HttpServlet類通過執行Servlet接口,能夠提供HTTP協議的功能
  3. ServletConfig接口
    ServletConfig接口存放在javax.servlet包內,它是一個由Servlet容器使用的Servlet配置對象,用於在Servlet初始化時向他傳遞信息
  4. HttpServletRequest接口
    HttpServletRequest類存放在javax.servlet.http包內
  5. HttpServletResponse接口
    HttpServletResponse類存放在javax.servlet.http包內,它代表了對客戶端的HTTP響應。HttpServletResponse接口給出了響應客戶端的Servlet()方法。它允許Servlet設置內容長度和迴應的MIME類型,並且提供輸出流ServletOutoutStream
  6. GenericServlet類
    GenericServlet類存在javax.servlet包中,它提供了對Servlet接口的基本實現,它是一個抽象類,它的service()方法是一個抽象方法

Servlet開發

  1. Servlet的創建
    創建一個Servlet通常涉及一下四個步驟
    (1)繼承HttpServlet抽象類
    (2)重裝適當的方法,如覆蓋(或稱爲重寫)doGet()方法或doPost()方法
    (3)如果有HTTP通信可以獲取該信息
    (4)生成HTTP響應




  2. Servlet的配置
    (1)在WEB-INF文件夾下的web.xml文件中配置Servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  
<servlet>
    <servlet-name>VoteServlet</servlet-name>
    <servlet-class>
			dom.VoteServlet
		</servlet-class>
</servlet>
  <servlet-mapping>
    <servlet-name>VoteServlet</servlet-name>
    <url-pattern>/VoteServlet</url-pattern>
  </servlet-mapping>
</web-app>

(2)採用註解配置Servlet

//在編寫的Servlet類上方編寫
@WebServlet(urlPatterns={
   
   "/映射地址"},asyncSupported=true|false,
loadOnStartup=-1,name="Servlet名稱",displayName="顯示名稱",
initParam={
   
   @WebInitParam(name="username",value="值")})
public class Servlet extends HttpServlet {
   
   
     ...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章