什么是servlet?servlet有什么用?
servlet概述
什么是servlet,servlet有什么用?
servlet是java編寫的服務器端的程序,運行在web服務器中
作用:
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
兩種的方式的區別
HttpServletRequst
是ServletRequest的子接口;比ServletRequest多了一些針對http協議的方法;在Servlet中,用HttpServletRequest來表示請求;HttpServletRequest :封裝了請求的信息,可以從中獲取任何請求信息。
HttpServletRequst的一些方法
獲取請求的參數的方法
http響應
一個http響應代表服務器向客戶端回送的數據,它包括:響應行,響應頭,響應體。響應行里包含了http協議版本,以及用于描述服務器對請求的處理結果。
狀態碼:
HttpServletResponse
HttpServletResponse是ServletResponse的子接口 。
Web服務器收到客戶端的http請求,會針對每一次請求,分別創建一個代表響應的HttpServletResponse對象。HttpServletResponse對象代表響應
向瀏覽器動態生成網頁內容
? 用getWriter()獲得一個PrintWriter字符輸出流輸出數據response會默認以ISO8859-1將需要輸出到瀏覽器的字符進行解碼,如果輸出的字符在ISO8859-1中不存在,就會導致亂碼問題。
? response.setContetnType(“text/html;charset=utf-8”);方法可以同時設定response所使用的字符集編碼和瀏覽器打開所用的字符集編碼
創作不易,大佬們留步… 動起可愛的雙手,來個贊再走唄 (???←?)
總結
以上是生活随笔為你收集整理的什么是servlet?servlet有什么用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java控制台输出百分比进度条示例
- 下一篇: 查询大于2分钟的数据