(十)Servlet
将显示与接受请求、处理请求的工作分开
运行在服务器端的java程序
jsp和servlet的关系
jsp最终会转换成servlet java程序
创建servlet
a.实现servlet接口
b.继承GenericServlet
c.继承HttpServlet(常用方式)
servlet 中 printwriter输出中文
乱码问题:
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
servlet的生命周期:
初始化:
当浏览器客户端第一次发出请求访问
servlet时,调用init方法进行初始化,
并且只初始化一次
销毁:
当web服务器关闭时 ,调用
distory方法进行销毁
servlet中获取session
request.getSession();
路径:
相对路径
绝对路径 ${pageContext.request.contextPath}
servletConfig
九大内置对象:
out,response,request,session,application
config,exception,page,pageContext
作用:
配置初始化servlet参数
this.getServletConfig();
servletConfig.getInitParameter("charSetContent");
jsp servlet
out PrintWriter
request HttpServletRequest
response HttpServletResponse
session HttpSession
application ServletContext
config ServletConfig
exception Throwable
page this
pageContext
ServletContext(三大框架整合使用了)
this.getServletContext();
等同于jsp页面的application
ServletContext可以获取全局的初始化参数
<!-- 全局初始化参数 web服务一启动进行初始化 -->
<context-param>
<param-name>contextName</param-name>
<param-value>contextUTF8</param-value>
</context-param>
获取全局初始化参数:
servletContext.getInitParameter("");
过滤器
作用:
过滤请求和响应
<url-pattern>/*</url-pattern>
过滤该web项目的所有请求和响应
实现Filter接口
过滤器的生命周期:
初始化:web服务器启动时初始化
销毁:web服务器关闭时销毁
FilterConfig
获取过滤器初始化参数
监听器
监听某种事件并完成相应的处理
八种监听器
1.监听session,servletContext,request的创建销毁
HttpSessionListener
*ServletContextListener(spring框架使用)
ServletRequestListener
2.监听session,servletContext,request域中对象
创建和移出 (setAttribute,removeAttribute)
*HttpSessionAttributeListener
ServletContextAttributeListener
ServletRequestAttributeListener
3.自我感知类型监听器(不需要在web.xml配置监听)
*HttpSessionBindingListener
HttpSessionActivationListener
在web.xml配置监听
ServletContext在web服务器启动时创建,关闭时销毁
案例:监听器监听在线人数
文件上传
commons-fileupload-1.2.2.jar和commons-io-2.4.jar
表单:
method: post
enctype:multipart/form-data
input type : file
//步骤
1、创建DiskFileItemFactory
2、创建ServletFileupLoad(上传文件的核心类)
文件上传就是文件复制
将显示与接受请求、处理请求的工作分开
运行在服务器端的java程序
jsp和servlet的关系
jsp最终会转换成servlet java程序
创建servlet
a.实现servlet接口
b.继承GenericServlet
c.继承HttpServlet(常用方式)
servlet 中 printwriter输出中文
乱码问题:
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
servlet的生命周期:
初始化:
当浏览器客户端第一次发出请求访问
servlet时,调用init方法进行初始化,
并且只初始化一次
销毁:
当web服务器关闭时 ,调用
distory方法进行销毁
servlet中获取session
request.getSession();
路径:
相对路径
绝对路径 ${pageContext.request.contextPath}
servletConfig
九大内置对象:
out,response,request,session,application
config,exception,page,pageContext
作用:
配置初始化servlet参数
this.getServletConfig();
servletConfig.getInitParameter("charSetContent");
jsp servlet
out PrintWriter
request HttpServletRequest
response HttpServletResponse
session HttpSession
application ServletContext
config ServletConfig
exception Throwable
page this
pageContext
ServletContext(三大框架整合使用了)
this.getServletContext();
等同于jsp页面的application
ServletContext可以获取全局的初始化参数
<!-- 全局初始化参数 web服务一启动进行初始化 -->
<context-param>
<param-name>contextName</param-name>
<param-value>contextUTF8</param-value>
</context-param>
获取全局初始化参数:
servletContext.getInitParameter("");
过滤器
作用:
过滤请求和响应
<url-pattern>/*</url-pattern>
过滤该web项目的所有请求和响应
实现Filter接口
过滤器的生命周期:
初始化:web服务器启动时初始化
销毁:web服务器关闭时销毁
FilterConfig
获取过滤器初始化参数
监听器
监听某种事件并完成相应的处理
八种监听器
1.监听session,servletContext,request的创建销毁
HttpSessionListener
*ServletContextListener(spring框架使用)
ServletRequestListener
2.监听session,servletContext,request域中对象
创建和移出 (setAttribute,removeAttribute)
*HttpSessionAttributeListener
ServletContextAttributeListener
ServletRequestAttributeListener
3.自我感知类型监听器(不需要在web.xml配置监听)
*HttpSessionBindingListener
HttpSessionActivationListener
在web.xml配置监听
ServletContext在web服务器启动时创建,关闭时销毁
案例:监听器监听在线人数
文件上传
commons-fileupload-1.2.2.jar和commons-io-2.4.jar
表单:
method: post
enctype:multipart/form-data
input type : file
//步骤
1、创建DiskFileItemFactory
2、创建ServletFileupLoad(上传文件的核心类)
文件上传就是文件复制