开发一个动态web资源,需要完成两个步骤:
编写一个Java类,实现servlet接口
把写好的Java类部署到web服务器中
编写一个servlet,可以继承GenricServlet或HttpServlet,GenricServlet实现了servlet接口,HttpServlet继承自GenricServlet类。通常继承HttpServlet
Servlet程序是服务器调用的
Servlet有生命周期的方法: 通常生命周期的方法都服务器调用的
Init:第一次访问,创建servlet时候会执行,用来初始化servlet
Service:每次请求的时候都会执行,根据请求方法区调用doXX方法
Destory:当servlet被销毁时调用
编写servlet程序:
1.继承HttpServlet并覆盖doGet和doPost方法
2.每个servlet要让外界访问到,必须配置对外的访问路径,在web.xml文件中配置
3.启动服务器,发布web应用,再访问
servletContext对象:
WEB容器在启动时,为每个web应用程序都创建一个对应的Servlet对象,他代表当前web应用
servletContext可以用来获得全局的配置信息,可以实现数据共享(setAttribute(k,v),getAttrribute(k),removeAttrribut(k)),读取资源文件
Servlet中域对象:
按从小到大顺序:request<session<servletContext
request:一次请求范围内有效 用户登录失败返回提示信息
session:浏览器从打开到关闭之间有效 用户登录成功后存储登录的用户
servletContext:整个web应用期间有效 统计网站访问次数
Servlet过滤器,监听器和拦截器:
过滤器:Filter,针对url,基于函数回调
Servlet的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要用途是过滤字符编码,做一些业务逻辑判断等(是否已登录,权限是否达标),需要在web.xml中配置好要拦截的客户端请求,拦截到后可以对请求或响应统一设置编码
随着web应用启动而启动,只初始化一次,web停止或重新部署才销毁
监听器:Listener,针对对象
Servlet的监听器Listener是实现了javax.servlet.ServletContextListener接口的服务器端程序,也随着web启动而启动,只初始化一次
主要作用是做一些初始化的内容添加工作,设置一些基本内容,如参数或者一些固定对象
拦截器:Interceptor,针对action,基于反射
是在面向切面编程中应用的,在service后者一个方法调用前或者后调用一个方法,基于反射机制,不是在web.xml中配置
JSP内置9个对象:
request,response,session,applicatoin,out,pageContext,page,config,exception