天天看点

servlet中文乱码_10分钟快速掌握Servlet相关基础知识Servlet的学习路线Servlet的相关配置Servlet类型层次结构Servlet对象的常见方法剖析使用HttpServletRequest获取请求信息中文乱码解决方案:Servlet生命周期:

Servlet的学习路线

1、 创建Servlet

2、 Servlet的相关配置

3、 Servlet的生命周期

4、 HttpServletRequest接口

5、 HttpServletResponse接口

6、 HttpSession接口

7、 Filter、Listener接口

Servlet的相关配置

1、 创建Servlet extends HttpServlet

2、 配置Serlvet

第1种配置方式: web.xml,web.xml不仅能配置Servlet信息,还可以配置欢迎页面,错误页面,其他的配置。

servlet中文乱码_10分钟快速掌握Servlet相关基础知识Servlet的学习路线Servlet的相关配置Servlet类型层次结构Servlet对象的常见方法剖析使用HttpServletRequest获取请求信息中文乱码解决方案:Servlet生命周期:
servlet中文乱码_10分钟快速掌握Servlet相关基础知识Servlet的学习路线Servlet的相关配置Servlet类型层次结构Servlet对象的常见方法剖析使用HttpServletRequest获取请求信息中文乱码解决方案:Servlet生命周期:
servlet中文乱码_10分钟快速掌握Servlet相关基础知识Servlet的学习路线Servlet的相关配置Servlet类型层次结构Servlet对象的常见方法剖析使用HttpServletRequest获取请求信息中文乱码解决方案:Servlet生命周期:

第2种配置方式: 注解(Annotation)

@WebServlet( name = "", urlPatterns = {} )

urlPattern的配置规则:

1. 精确路径匹配

[例] /user/register.do

2. 模糊路径匹配

[例] /user/*

3. 扩展名匹配

[例] *.do

4. 默认匹配

[例] /

问: 如果一个Request URL能匹配多个urlPattern, 执行哪个对应的Servlet?

以优先级为依据: 精确路径 > 模糊路径 > 扩展名路径 > 默认路径

Servlet类型层次结构

servlet中文乱码_10分钟快速掌握Servlet相关基础知识Servlet的学习路线Servlet的相关配置Servlet类型层次结构Servlet对象的常见方法剖析使用HttpServletRequest获取请求信息中文乱码解决方案:Servlet生命周期:
servlet中文乱码_10分钟快速掌握Servlet相关基础知识Servlet的学习路线Servlet的相关配置Servlet类型层次结构Servlet对象的常见方法剖析使用HttpServletRequest获取请求信息中文乱码解决方案:Servlet生命周期:

Servlet对象的常见方法剖析

String getServletName(); 获取Servlet对象的名称

ServletContext getServletContext(); //获取Servlet对象的容器(作用于整个项目)Servlet容器,它的生命周期最长,随着tomcat的启动而产生,关闭而销毁、更新销毁。

setAttribute(key,value); 向容器中存储数据

getAttribute(key); 从容器获取数据

String getInitParameter(String var1); //获取(ServletContenxt容器,全局参数也可以获取)的初始参数值

Enumeration getInitParameterNames(); //获取初始参数的名称

ServletConfig getServletConfig(); //获取配置文件的信息还可以调用父容器

使用HttpServletRequest获取请求信息

getParameter( String parameterName ) : String

getParameterValues( String parameterName ) : String[]

注意: 参数parameterName往往是表单元素的name属性.

中文乱码解决方案:

1. 通过QueryString传递中文数据时

修改tomcat/conf/server.xml ->

或在程序中直接对String进行转码操作

userName = new String(userName.getBytes("ISO-8859-1"), "UTF-8");

2. 通过请求体传递中文数据时

request.setCharacterEncoding("UTF-8");

Servlet生命周期:

自tomcat启动以来, 首次请求某Servlet时:

1. 容器调用构造器实例化该Servlet

2. 调用init()初始化该Servlet

3. 调用该Servlet的service()处理请求

3.1 如果该请求的Method是GET: 调用doGet()

3.2 如果该请求的Method是POST: 调用doPost()

第N(N>=2)次请求该Servlet时,执行上面的第3步

tomcat stop或update时:

4. 调用该Servlet的destroy()销毁实例

最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收。

继续阅读