servlet中文乱码_10分钟快速掌握Servlet相关基础知识
Servlet的學習路線
1、 創(chuàng)建Servlet
2、 Servlet的相關配置
3、 Servlet的生命周期
4、 HttpServletRequest接口
5、 HttpServletResponse接口
6、 HttpSession接口
7、 Filter、Listener接口
Servlet的相關配置
1、 創(chuàng)建Servlet extends HttpServlet
2、 配置Serlvet
第1種配置方式: web.xml,web.xml不僅能配置Servlet信息,還可以配置歡迎頁面,錯誤頁面,其他的配置。
第2種配置方式: 注解(Annotation)
@WebServlet( name = "", urlPatterns = {} )
urlPattern的配置規(guī)則:
1. 精確路徑匹配
[例] /user/register.do
2. 模糊路徑匹配
[例] /user/*
3. 擴展名匹配
[例] *.do
4. 默認匹配
[例] /
問: 如果一個Request URL能匹配多個urlPattern, 執(zhí)行哪個對應的Servlet?
以優(yōu)先級為依據(jù): 精確路徑 > 模糊路徑 > 擴展名路徑 > 默認路徑
Servlet類型層次結(jié)構(gòu)
Servlet對象的常見方法剖析
String getServletName(); 獲取Servlet對象的名稱
ServletContext getServletContext(); //獲取Servlet對象的容器(作用于整個項目)Servlet容器,它的生命周期最長,隨著tomcat的啟動而產(chǎn)生,關閉而銷毀、更新銷毀。
setAttribute(key,value); 向容器中存儲數(shù)據(jù)
getAttribute(key); 從容器獲取數(shù)據(jù)
String getInitParameter(String var1); //獲取(ServletContenxt容器,全局參數(shù)也可以獲取)的初始參數(shù)值
Enumeration getInitParameterNames(); //獲取初始參數(shù)的名稱
ServletConfig getServletConfig(); //獲取配置文件的信息還可以調(diào)用父容器
使用HttpServletRequest獲取請求信息
getParameter( String parameterName ) : String
getParameterValues( String parameterName ) : String[]
注意: 參數(shù)parameterName往往是表單元素的name屬性.
中文亂碼解決方案:
1. 通過QueryString傳遞中文數(shù)據(jù)時
修改tomcat/conf/server.xml ->
或在程序中直接對String進行轉(zhuǎn)碼操作
userName = new String(userName.getBytes("ISO-8859-1"), "UTF-8");
2. 通過請求體傳遞中文數(shù)據(jù)時
request.setCharacterEncoding("UTF-8");
Servlet生命周期:
自tomcat啟動以來, 首次請求某Servlet時:
1. 容器調(diào)用構(gòu)造器實例化該Servlet
2. 調(diào)用init()初始化該Servlet
3. 調(diào)用該Servlet的service()處理請求
3.1 如果該請求的Method是GET: 調(diào)用doGet()
3.2 如果該請求的Method是POST: 調(diào)用doPost()
第N(N>=2)次請求該Servlet時,執(zhí)行上面的第3步
tomcat stop或update時:
4. 調(diào)用該Servlet的destroy()銷毀實例
最后,Servlet 是由 JVM 的垃圾回收器進行垃圾回收。
總結(jié)
以上是生活随笔為你收集整理的servlet中文乱码_10分钟快速掌握Servlet相关基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Accoridion折叠面板
- 下一篇: 第五章 课本题目