国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JavaWeb學習總結第四篇--Servlet開發

2019-11-15 00:25:59
字體:
來源:轉載
供稿:網友
javaWeb學習總結第四篇--Servlet開發

Servlet開發

用戶在瀏覽器中輸入一個網址并回車,瀏覽器會向服務器發送一個HTTP請求。服務器端程序接受這個請求,并對請求進行處理,然后發送一個回應。瀏覽器收到回應,再把回應的內容顯示出來。這種請求—響應模式就是典型的Web應用程序訪問過程。

JavaWeb應用程序中所有的請求—響應都是由Servlet完成的。Servlet是JavaWeb的核心程序,所有的網址最終都交給Servlet處理。Servlet并沒有main之類的執行方法。當用戶訪問服務器的時候,Tomcat是通過調用Servlet的某些方法來完成整個處理過程的。

Servlet是什么

一個Servlet程序就是一個實現了特殊接口的Java類,它由支持Servlet的Web服務器調用和啟動運行。一個Servlet程序負責處理它所對應的一個或一組URL地址的訪問請求,并接收客戶端發出的訪問請求信息和產生響應內容。

Servlet程序可以完成普通Java程序所能完成的大多數任務:

  • 獲取客戶端通過HTML的FORM表單提交的數據和URL后面的參數信息
  • 創建對客戶端的響應信息內容
  • 訪問服務器端的文件系統
  • 連接數據庫并開發基于數據庫的應用
  • 調用其它的Java類
Servlet工作流程

瀏覽器提交的請求是遵循HTTP協議的文本。這段文本由服務器也就是Tomcat接收并解析,封裝成了HttpServletRequest類型的request對象。所有的HTTP頭數據都可以通過request相應的方法查詢到。Tomcat同時把輸出流封裝成為HttpServletResponse類型的response對象,通過設置response對象可以控制輸出的內容。在請求—響應的這個過程中,Tomcat把request對象、response對象作為參數,調用Servlet的相應方法,例如doPost(request,response)、doGet(request,response)等。

Servlet接口

Servlet是一種實現了javax.servlet.Servlet接口的類。Servlet接口規定了特定的方法來處理特定的請求。Servlet規范是建立在HTTP規范基礎上的。HTTP 1.1 規范支持OPTIONS、GET、POST、HEAD、PUT、DELETE、TRACE等7中訪問方式,其中最常用的就是GET和POST了。

GET:表示查詢信息,URL中可以附帶少量的參數信息,但是URL總長度不能超過255個字符,并且參數會顯示在瀏覽器地址欄。

POST:表示提交信息,一般用于提交大數據信息或者文件,提交的內容不受長度限制,并且不會顯示在瀏覽器地址欄中。

FirstServlet

在了解了Servlet基礎知識之后,我們可以試著編寫Servlet程序了。首先我們得認識一下Servlet的常用方法

 1 import javax.servlet.*; 2 import java.io.IOException; 3  4 /** 5  * Created by Administrator on 2015/6/2. 6  */ 7  8 /* 9  *查看Servlet接口中的方法10  */11 public class AServlet implements Servlet {12 13     @Override14     public void destroy() {15         System.out.

注意:Servlet的生命周期方法

接下來,我們寫一個簡單的Servlet程序,并試著編譯運行。
 1 import javax.servlet.ServletException; 2 import javax.servlet.http.HttpServlet; 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpServletResponse; 5 import java.io.IOException; 6 import java.io.PrintWriter; 7  8 /** 9  * Created by Administrator on 2015/6/2.10  */11 public class FirstServlet extends HttpServlet{12 13     public void service(HttpServletRequest request,HttpServletResponse response)14         throws ServletException,IOException{15 16         PrintWriter out = response.getWriter();17         out.println("<html>");18         out.println("<font size=30 color=red>www.baidu.com</font><br/>");19         out.println("<marquee>" + new java.util.Date() + "</marquee>");20         out.println("</html>");21     }22 }

配置<servlet>

我們只有servlet類文件還不行,因為要讓Web服務器知道瀏覽器怎么訪問這個Servlet,也就是說需要配置Servlet的類文件與訪問方式。這個配置在Web應用程序的描述文件web.xml里完成,配置如下:

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 5          version="3.1"> 6  7     <servlet> 8         <servlet-name>xxx</servlet-name> 9         <servlet-class>AServlet</servlet-class>10     </servlet>11 12     <servlet-mapping>13         <servlet-name>xxx</servlet-name>14         <url-pattern>/HelloServlet</url-pattern>15     </servlet-mapping>16 17     <servlet>18         <servlet-name>yyy</servlet-name>19         <servlet-class>FirstServlet</servlet-class>20     </servlet>21 22     <servlet-mapping>23         <servlet-name>yyy</servlet-name>24         <url-pattern>/FirstServlet</url-pattern>25     </servlet-mapping>26 </web-app>

<servlet>和</servlet>分別為Servlet配置的開始標簽和結束標簽。中間的部分就是一個Servlet的配置信息。其中<servlet-name>與<servlet-class>屬性分別為Servlet的名稱和類名,都是必須配置的。<servlet-name>可以是任意的字符串,但是必須保證該名稱在web.xml里唯一。

1 <init-param>2        <param-name>message</param-name>3        <param-value>Welcome to FirstServlet</param-value>4 </init-param>5 <load-on-startup>1</load-on-startup>

使用<init-param>標簽可以配置一個初始化參數,包括一個參數名稱和一個參數值。一個Servlet可以配置多個初始化參數。Servlet中可以使用方法getServletContext().getInitParam(String paramName)來取得配置的初始化參數值。

標簽<load-on-startup>配置該Servlet的加載方式,可選值為0和1,。如果配置為1,Tomcat在啟動的時候就加載該Servlet,否則,Tomcat會在第一次請求該Servlet的時候才加載。

編譯運行Servlet


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀远县| 久治县| 崇文区| 高清| 耒阳市| 昂仁县| 余干县| 永清县| 华池县| 吐鲁番市| 闽清县| 崇阳县| 泰州市| 汉阴县| 屏南县| 高安市| 陵水| 斗六市| 沽源县| 湘阴县| 天峻县| 镇平县| 运城市| 浙江省| 广宁县| 峨眉山市| 临城县| 石城县| 山丹县| 方山县| 桃园市| 峨眉山市| 乌兰察布市| 寿宁县| 通道| 进贤县| 会昌县| 安乡县| 余干县| 深州市| 资源县|