Servlet

Servlet 是 J2EE 的一個規範 ,他是 Java 語言用於處理客戶請求的一種技術。

如何編寫小豆子(servlet)
    (1). 編寫一個類 HelloServlet
    (2). 導入 Servlet 接口規範的 jar
    (3). 實現 Servlet 接口,編寫 Servlet
    (4). 部署項目(Servlet)到容器
    (5). 配置,你要告訴 Tomcat 你開發了一個 Servlet
            a. 你這個 Servlet 的名字
            b. 怎麼訪問
            web.xml :配置你本身開發的 Servlet
            一個 Servlet ,實際上是一個資源(普通文件,圖片,軟件,視頻),它每每對應一個訪問的url
            Servlet 多線程訪問的,儘可能不要再 Servlet 中加入成員變量,由於會設計到線程安全的問題。
    (6). Servlet 的生命週期的問題
            Servlet 是一個類,成員方法,Servlet 的對象是何時被建立的,這個對象何時被銷燬。
            默認狀況下,在第一我的訪問的時候會被建立,後面的人訪問不建立。(單例模式)
            <load-on-startup>1</load-on-startup>  主動加載。數字表明實例化的順序
    (7). 再看jsp
            jsp 就是 Servlet ,只不過他是 Servlet 另一種的表現形式。
            Servlet 更可能是代碼中嵌入表現層代碼。而 jsp 是表現層代碼嵌入後臺邏輯代碼
            其實他們並無本質的區別。這也是爲何說jsp是動態資源,而不是靜態資源的緣由。
            apache-tomcat-8.5.45\work\Catalina\localhost\
            這個目錄是運行的文件。jsp文件在這裏被處理成.java文件. 因此jsp自己是 Servlet
            jsp第一次被訪問的時候會被web容器翻譯成Servlet 提供服務,只翻譯一次,因此第一次會慢。
java

 1 import java.io.IOException;
 2 import java.io.PrintWriter;
 3 import javax.servlet.ServletException;
 4 import javax.servlet.http.HttpServlet;
 5 import javax.servlet.http.HttpServletRequest;
 6 import javax.servlet.http.HttpServletResponse;
 7 
 8 /**
 9  * 第一個Servlet
10  * @author 張澤
11  *
12  */
13 public class HelloServlet extends HttpServlet {
14     
15 //-- 重寫 doGet 方法
16     @Override   //-- eclipse 寫的檢驗功能
17     protected void doGet(HttpServletRequest request, HttpServletResponse response)
18             throws ServletException, IOException {
19 
20         response.setContentType("text/plain");        
21         PrintWriter out = response.getWriter();
22         out.write("Hello Servlet");
23     }
24     
25 }
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.4" 
 3     xmlns="http://java.sun.com/xml/ns/j2ee" 
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 6         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 7     
 8     <!-- 配置 HelloServlet 基本信息 -->    
 9     <servlet>
10         <servlet-name>HelloServlet</servlet-name>
11         <servlet-class>day03.HelloServlet</servlet-class>
12     </servlet>
13     <!-- 配置 Servlet 的訪問路徑 -->
14     <servlet-mapping>
15         <servlet-name>HelloServlet</servlet-name>
16     <url-pattern>/hello</url-pattern>
17     </servlet-mapping>
18     
19   
20 </web-app>
相關文章
相關標籤/搜索