日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

30、JAVA_WEB开发基础之servlet(1)

發布時間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 30、JAVA_WEB开发基础之servlet(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

servlet是什么

Servlet 是一種獨立的 web 開發標準,用來接受、處理、返回瀏覽器的訪問請求,它不應和服務器耦合在一起,servlet和servlet容器之間相互獨立又相互依存,自我感覺,servlet有了容器才得以實現自己的價值,容器也因有了servlet而變得更加強大,servlet更像是一種規范和一種機制。Servlet 是 Java Web 技術的核心基礎,通常我們說的Servlet一般指HttpServlet。

servlet的生命周期

servlet的生命周期有三個階段:

1、初始化階段 :在代碼中的體現就是調用init方法實現servlet的初始化
????? public void init(ServletConfig config) throws ServletException
2、相應客戶請求階段:在代碼中的體現就是調用service方法
????? public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException
3、終止階段:在代碼中的體現就是調用destroy方法進行注銷操作
????? public void destroy()

servlet的工作原理

servlet的基本工作就是接受客戶端傳來的請求,然后處理請求,最終將處理結果返回給客戶端。這里使用HttpServlet來解釋,其大致工作原理如下:

1、 當客戶端往服務器發送一個請求時,服務器經過解析將請求交給servlet的service方法,請求最終發送到HttpServlet的service方法
2、 在Service方法,先通過請求對象,也就是HttpServletRequest來獲取請求方式,然后根據請求方式來匹配決定調用get方法還是post方法來進行業務的處理
3、 請求將在get方法或者post方法中進行具體的邏輯和數據的處理,但是不管get方法還是post方法在HttpServlet中都沒有具體的邏輯代碼,所以繼承HttpServlet之后,需要我們自己重寫這兩個方法
4、 經過一系列具體的處理后返回處理信息,再通過HttpServletResponse對象將處理信息逐級返回,信息是通過ServletResponse對象返回給客戶端的
5、 信息返回給客戶端之后,Servlet容器會調用Servlet的destroy()方法,用來釋放掉Servlet所占用的資源,一些情況下也可能導致調用此方法:WEB應用被終止、Servlet容器終止運行、Servlet容器重新裝載Servlet新實例等

servlet的執行流程

1、 服務器獲取客戶端傳來的http請求
2、 服務器解析請求
3、 創建servlet實例
4、 調用init方法初始化servlet
5、 調用service方法進行請求的處理
6、 將處理后的數據返回,輸出相應信息
7、 服務器響應客戶端
8、 執行servlet的destroy方法銷毀servlet

java中servlet的實現方式

java中實現servlet有三種方式:

1、 實現servlet接口
2、 繼承Genericservlet抽象類
3、 繼承httpservlet抽象類

一般使用第三種繼承HttpServlet方式

一次完整訪問的實例

/*** 1、創建一個web項目* 2、創建一個類,繼承HttpServlet* 3、重寫doGet或doPost方法* 4、servlet 3.0及以后使用 注解@WebServlet("/testServlet")來標記類為servlet,/testServlet為訪問的servlet名* 5、添加web容器,啟動服務,訪問測試*/ @WebServlet("/testServlet") public class TestServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// getAttribute方法用于獲取請求中的屬性值Object name = request.getAttribute("name");// getParameter方法用于獲取請求中的參數String namestring = request.getParameter("name");response.getWriter().write(namestring.toString());} }

注意:這里用的是servlet 3.0標準,如果是之前的2.0及其之前標準是不存在WebServlet注解的,需要手動在web.xml文件中配置Servlet映射,建議使用3.0。

總結

以上是生活随笔為你收集整理的30、JAVA_WEB开发基础之servlet(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。