一、Tomcat集成
二、servletLife servlet生命週期
1、初始化
2、運行------調用
3、銷燬(從內存中銷燬)
三、
1、處理請求的方法的方法:service doget dopost方法的區別
1、新建一個servlet
2、新建jsp:method
在body寫一個form表單 :用戶登錄表單
Action:提給servlet
method:
Get |
只處理method爲get的方法 |
Post |
只處理method爲get的方法 |
3、service即能處理get方法也能處理post方法
4、如果在servlet中同時存在 service get post
優先處理service
5、
如果
Super.service(arg0,arg1):沒有被刪除
會調用父類的service,就可以再調用doGet() 或 doPost()
父類的service方法打雷如此
If(doGet()){
doGet();
}else if(doPost()){
doPost();
}
正常執行前提條件書寫了 doGet() 與 doPost()方法
注:
雖然只要servlet加載到內存後,硬盤上刪除了沒有事,但是還是上一個信息
405:請求方法服務器不支持
四、servlet常見錯誤
404:
資源未找到
servlet別名錯誤
項目名稱拼寫錯誤
405:
請求方式不支持
500:
Web.xml中查看類的映射是否錯誤
類有邏輯錯誤
五、Request
將數據存儲到Request對象中
request封存當前請求信息
注意:request對象由tomcat創建,實參傳遞給service
1、如何獲取請求數據
獲取請求頭信息
獲取請求方式
getMethod()
獲取請求URL
getRequestURL()
getRequestURI()
獲取協議
getScheme()
獲取請求行信息
getHeader("鍵值名");----------事先知道鍵名
getHeadersname("");------獲得所有建植信息
Enumeration
While(e.hasnext){
Syso(e.nextelement);
}
獲取用戶數據
request並不區分get和post方法,因此此時已經解析完成了
Req.getParameter("鍵值名稱");
如果出現 返回的是null 後臺寫的鍵值名不存在或者不一致
亂碼出現的原因取數據和存數據的編碼不一致
getParameter()不能獲取同鍵不同值的數據(checkbox)
getParameterValues()可以
注意空指針異常
獲取鍵值名
getParameterNames()
六、Response
1、提取數據
2、處理請求
數據庫操作
3、處理結果
設置響應頭
setHeader("鍵","值") |
set覆蓋上一個同鍵 |
目前不可爲中文 |
addHeader("鍵","值") |
add與上一個一起出現再響應頭中 |
目前不可爲中文 |
sendError(錯誤代碼,"語句") |
出現錯誤的時候出現 |
|
設置
"conten-type" "text/html;charset=utf-8"
setContentType("text/html;charset=utf-8")
設置響應實體
getWriter.write("String:msg")