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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

什么是servlet?servlet有什么用?

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是servlet?servlet有什么用? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

servlet概述

什么是servlet,servlet有什么用?

servlet是java編寫的服務器端的程序,運行在web服務器中

作用:

  • 接收用戶端發來的請求
  • 調用其他java程序來處理請求
  • 將處理結果,返回到服務器中
  • servlet的生命周期

    實例化-初始化-服務-消亡

    1.第一次訪問servlet或啟動服務器時創建servlet 的實例

    2.init() 只調用一次,servlet實例創建后立即執行,用于執行一些servlet初始化操作

    @Overridepublic void init() throws ServletException {super.init();}

    3.service方法 多次調用;每次請求都調用service方法,根據請求方式調用doGet()或doPost()方法。

    @Overridepublic void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {super.service(req, res);}

    4.只調用一次,服務器關閉時,執行一些操作

    @Overridepublic void destroy() {super.destroy();}

    http協議

    http協議 超文本傳輸協議, 用于定義客戶端瀏覽器和服務器之間交換數據的過程,基于TCP/IP通信協議來傳輸數據;屬于應用層(簡潔快速,適用于分布式超媒體信息系統)

    http請求

    客戶端連接上服務器后,向服務器端請求了web資源,就是向服務器端發送了http請求

    請求包括:

  • 請求行:包括http請求方式,請求資源名稱,請求版本

  • 請求頭:主機請求地址,客戶端環境信息,以鍵值對形式傳遞

    Host: 127.0.0.1:8088 請求的主機地址 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 瀏覽器能夠處理的內容類型 Accept-Encoding: gzip, deflate, br 瀏覽器能夠處理的壓縮編碼 Accept-Language: zh-CN,zh;q=0.9 瀏覽器當前設置的語言 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 使用的瀏覽器和操作平臺信息 Connection: keep-alive 瀏覽器與服務器之間連接的類型
  • 請求體:代表著瀏覽器在post請求方式中傳遞給服務器的參數,請求體中參數以鍵值形式傳遞,多個用&鏈接,服務器接收到后再解析 例如:username=admin&userpwd=123

  • 兩種http請求方式

  • get方式

    超鏈接訪問,默認為get請求

    form提交,不指定method,默認為get方式

  • post方式

    form提交,指定method=post

  • 兩種的方式的區別

  • get請求主要從服務器獲取信息;post主要是是向服務提交的信息
  • get請求在通過URL提交數據,數據在URL可以看到;post請求放置在請求體中提交
  • get請求提交的數據大小受限制一般1kb(不同瀏覽器可能不同);post請求不受限制
  • HttpServletRequst

    是ServletRequest的子接口;比ServletRequest多了一些針對http協議的方法;在Servlet中,用HttpServletRequest來表示請求;HttpServletRequest :封裝了請求的信息,可以從中獲取任何請求信息。

    HttpServletRequst的一些方法

  • getMethod()得到客戶機請求方式
  • getScheme()請求協議
  • getRemoteAddr()返回發出請求的客戶機的IP地址
  • getServerName()服務器名(ip或域名)
  • getServerPort()服務器端口
  • 獲取請求的參數的方法

  • getParameter(name) — String 通過name獲得值
  • getParameterValues — String[ ] 通過name獲得多值
  • http響應

    一個http響應代表服務器向客戶端回送的數據,它包括:響應行,響應頭,響應體。響應行里包含了http協議版本,以及用于描述服務器對請求的處理結果。

    狀態碼:

  • 200:請求成功
  • 302:請求重定向
  • 400:語義有誤,當前請求無法被服務器理解或請求參數有誤
  • 404:請求資源不存在,通常是路徑寫錯了或者服務器資源刪除了
  • 500:服務內部錯誤(代碼異常)
  • HttpServletResponse

    HttpServletResponse是ServletResponse的子接口 。

    Web服務器收到客戶端的http請求,會針對每一次請求,分別創建一個代表響應的HttpServletResponse對象。HttpServletResponse對象代表響應

    向瀏覽器動態生成網頁內容

    ? 用getWriter()獲得一個PrintWriter字符輸出流輸出數據response會默認以ISO8859-1將需要輸出到瀏覽器的字符進行解碼,如果輸出的字符在ISO8859-1中不存在,就會導致亂碼問題。

    ? response.setContetnType(“text/html;charset=utf-8”);方法可以同時設定response所使用的字符集編碼和瀏覽器打開所用的字符集編碼

    創作不易,大佬們留步… 動起可愛的雙手,來個贊再走唄 (???←?)

    總結

    以上是生活随笔為你收集整理的什么是servlet?servlet有什么用?的全部內容,希望文章能夠幫你解決所遇到的問題。

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