监听器 过滤器 servlet
使用servlet实现新闻系统中的新闻增加功能
使用过滤器解决乱码问题
使用监听器统计在线人数
理解servlet生命周期
创建和部署servlet
学会使用主要的servlet api
使用过滤器对请求和响应进行过滤
使用监听器完成事件监听
新闻管理系统
jsp
接受请求,调用javabean去处理请求,重定向,转发
显示数据
javabean
封装数据POJO
业务逻辑
jsp其实是一种负责显示的技术
不接受请求,处理请求,
servlet:
接受请求,调用javabean去处理请求
servlet做什么?
本身不做任何业务处理
只是接受请求并决定调用哪个javabean去处理请求
确定用哪个页面来显示处理返回的数据
Server+ Applet 是一种服务器端的java应用程序
只有当一个服务器端的程序使用了servlet API的时候,这个服务器端的程序才能称之为servlet
既是实现了servlet API接口
jsp 翻译 java 编译 class java虚拟机可执行
javax.servlet.Servlet接口:
基础接口类,
javax.servlet.GenericServlet
是servlet的通用版本,是一种与协议无关的servlet
javax.servlet.http.HttpServlet
在GenericServlet基础上扩展的基于Http协议的servlet
servlet:
接受请求,调用javabean去处理请求
servlet做什么?
本身不做任何业务处理
只是接受请求并决定调用哪个javabean去处理请求
确定用哪个页面来显示处理返回的数据
Server+ Applet 是一种服务器端的java应用程序
只有当一个服务器端的程序使用了servlet API的时候,这个服务器端的程序才能称之为servlet
既是实现了servlet API接口
jsp 翻译 java 编译 class java虚拟机可执行
javax.servlet.Servlet接口:
基础接口类,
javax.servlet.GenericServlet
是servlet的通用版本,是一种与协议无关的servlet
javax.servlet.http.HttpServlet
在GenericServlet基础上扩展的基于Http协议的servlet
步骤:
实现借口
继承GenericServlet类
继承HttpServlet类
service 主要方法
派发器的作用,根据请求get/post
init():servlet初始化方法,执行一次
service():处理请求方法
destroy():在服务器停止并且程序中的servlet
对象不再使用的时候调用,只执行一次
servletRequest
封装客户的请求信息
作用相当于jsp内置对象request
servletResponse
创建响应信息,将处理结果返回给客户端
作用相当于jsp内置对象response
ServletConfig:
包含了servlet的初始化参数信息
多线程响应
servlet生命周期
加载和实例化 当servlet容器启动或者容器检测到客户端请求
初始化 调用init() 实例化后,容器调用servlet的init()初始化对象
处理请求 service() 得到客户端请求并处理时
销毁 destory() servl对象不再使用,或者web服务器停止运行的时候
全部都是servlet来做
Servlet 部署与运行
修改web.xml
<servlet>
<!-- 内部名 (别名)-->
<servlet-name>servlet3</servlet-name>
<servlet-class>cn.web.servlet.Service3</servlet-class>
<init-param>
<param-name>charSetContent</param-name>
<param-value>UTF-8</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>servlet3</servlet-name>//必须是别名
<!--精确匹配 目录匹配 后缀名匹配-->
<url-pattern>/servlet3</url-pattern>
<url-pattern>demo /*</url-pattern>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
alt+shift+s
通过url访问servlet
1、客户端发送请求
2、servlet容器解析请求
3、servlet容器创建servlet实例加载
4、初始化操作,servlet容器调用init()
5、servlet容器调用service()去派发get/post方法
6、servlet容器输出响应信息
7、返回响应
8、调用destroy方法
如何使用servlet实现新闻添加
HttpServletRequest
HttpServletResponse
HttpSession
创建servlet文件
request.getContextPath()/servlet/...
好处:
专人专职:JSP负责显示,servlet负责控制
学习方法
基于了解servlet生命周期的基础,参照本次课新闻添加功能的实现,
查询帮助文档独立实现新闻修改、删除等功能
过滤器:java类 filter 实现java.util.Filter
是向web应用程序的请求和响应,添加功能的web服务组件
过滤器可以统一的集中处理请求和响应
使用过滤器技术实现对请求数据的过滤
filter 过滤器
implements Filter
doFilter
//
request.setCharacterEncoding("utf-8")
response.setCharacterEconding("utf-8");
//进入下一个过滤器(过滤器链),或者进入web资源
chain.doFilter(request,response);
web里配置
<filter>
<filter-name>CharaterEcondingFilter</filter-name>
<filter-class>...</filter-class>
</filter>
<filter-mapping>
<filter-name>CharaterEcondingFilter</filter-name>
<filter-class>/*</filter-class>
</filter-mapping>