ServletAPI总结

1.Servlet主要类结构

1)Servlet
Servlet:Servlet接口,包括初始化方法init、销毁方法destroy和请求处理方法service,可通过init方法获得ServletConfig实例
GenericServlet:基础Servlet类,对Servlet一些常用的方法做简单的封装
HttpServlet:HTTP协议相关的Servlet类,将服务方法拆分成doGet、doPost、doDelete等
ServletConfig:可通过ServletConfig获得相关的Servlet的配置信息和获得应用全局上下文信息
2)全局环境
ServletContext:ServletContext接口定义了servlet运行环境的信息,通过该对象servlet能够获得log事件,资
源的URL,设置或存储servlet之间通信的变量。对于每个web应用,在每个java虚拟机上有且只有一个ServletContext实例
3)请求
ServletRequest:代表了Web请求的对象,通过该对象可以获取到请求内容、参数、请求客户端相关数据等
HttpServletRequest:除ServletRequest的功能之外,增加一些跟http相关的功能,譬如获取Cookie、Head信息等
ServletResponse:代表了Web响应的对象,通过该对象可以设置响应的内容等
HttpServletResponse:除ServletResponse的功能之外,增加一些跟http相关的功能,譬如Cookie、响应码等
HttpSession:超文本转移协议(HTTP)是无状态的协议,servlet规范中提供了一个简单的HttpSession接口,不需要开发者关心会话跟踪的具体细节,可通过该接口处理会话相关的功能
2.过滤器

过滤器支持在处理请求前通用地处理一些切面功能,譬如日志、安全、数据压缩等
3.事件监听器
1)生命期
ServletContextListener:在Web应用启动和销毁时调用,可以做一些Web应用全局的初始化和清除工作
HttpSessionListener:在会话被创建和销毁时调用,可以做一些Session的统一追踪工作
HttpSessionActivationListener:在Session数据被钝化为持久数据和激活成内存数据时调用
ServletRequestListener:在请求被创建和销毁时调用
2)属性变化
ServletContextAttributeListener:ServletContext的setAttribute和removeAttribute方法被调用后调用
ServletRequestAttributeListener:ServletRequest的setAttribute和removeAttribute方法被调用后调用
HttpSessionAttributeListener:HttpSession的setAttribute和removeAttribute方法被调用后调用
HttpSessionBindingListener:当Session中的数据被绑定或者解除绑定时调用,与HttpSessionAttributeListener的区别在于,可能是由于Session被invalidated或超时导致的数据解除绑定

时间: 2024-10-07 14:48:51

ServletAPI总结的相关文章

SpringMVC 控制器之对ServletAPI的支持与对JSON的支持

本篇两个知识点 1.SpringMVC对ServletAPI的支持 2.SpingMVC对JSON的支持 示例(用户登录,存放cookie与session) <body> <a href="${pageContext.request.contextPath }/user/ajax.do">测试ajax</a> <form action="${pageContext.request.contextPath }/user/login.do

Struts2文件下载&lt;*&gt;servlet-api的方式文件下载

Struts2文件下载 1 public class DownLoadAction extends ActionSupport{ 2 3 private static final long serialVersionUID = 1L; 4 //要下载的文件名 5 private String filename; 6 public String getFilename() { 7 return filename; 8 } 9 public void setFilename(String filen

Struts 2--Struts 2访问ServletAPI对象

ServletAP解析:API(Application Programming Interface) 应用程序编程接口. ServletAPI就是和Servlet相关的一组接口和类. 为了能够实现对ServletAPI对象的访问,Struts 2 提供了多种方式,但归结起来可分为两大类: 1.与ServletAPI解耦的访问方式 2.与ServletAPI耦合的访问方式 下面介绍解耦方式: 1.使用ActionContex类获取ServletAPI对象对应的Map对象. public class

tomcat启动时servlet-api.jar not loaded.

今天自己配置一个servlet技术项目,建立的一个网站项目ServletPa,目录结构如下.但是在tomcat启动时,出现servlet-api.jar not loaded. 十月 31, 2015 10:50:43 下午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performance in prod

Struts2访问ServletAPI的三种方式

web应用中需要访问的ServletAPI,通常只有HttpServletRequest,HttpSession,ServletContext三个,这三个接口分别代表jsp内置对象中的request,session,application,Struts2没有与任何Servlet接口耦合,所以很方便的访问Servlet API. 第一种: Struts2提供了一个ActionContext类,顾名思义,Action的上下文,该类提供了很多方法,比如getApplication(),getSessi

在struts2中访问servletAPI

在struts2中访问servletAPI,通俗点也就是使用servlet中的两个对象request对象和response对象. 前几天看到一个CRM项目的源码,里面使用request对象和response对象方式和我以前使用的方式有点不同,于是便上网查询一些相关资料.特此记录于此,有兴趣的也可以参考参考. 以往使用struts2往网页填充数据通常采用往值栈存放数据,也就是ActionContext.getContext().****();后面的方法类似与request对象和response对象

springmvc使用实体参数和ServletAPI

一. 实体参数 前面我们知道使用注解@RequestParam可以获得参数的值,那么现在提交一个表单怎么获得其中的值了.你可以说可以使用request.getParameter("")获得,是的这种方法确实能获得.那么现在如果表单有100个参数了,我们不会一个一个的去获得然后在set到model中,那样显得很麻烦.其实springmvc能直接把值一一对应到model中,下面来看下例子: package com.ztz.springmvc.model; public class User

【转】缺少servlet-api.jar包

转载地址:http://blog.sina.com.cn/s/blog_6cfb18070100n7pu.html 在Eclipse中缺省servlet-api.jar包,由于servlet-apbi.jar以及jsp-api.jar这两个包包含在Apache Tomcat中,所以提示这两个包缺省而出现错误的情况下,执行Build Path-Configure Build path-Libraries-Add Library-server Runtime就正常啦,O(∩_∩)O哈哈~欢迎大家提意

我已经把servlet-api.jar加到classpath中了,可还是无法编译servlet

在学习servlet的过程中,需要使用javac来对servlet进行编译,于是将servlet-api.jar和jsp-api.java都添加到 CLASSPATH中,可是编译的时候还是出现package javax.servlet does not exist 的错误,究其原因,发现应该将C:\Tomcat\lib里面的servlet-api.jar和jsp-api.jar文件拷贝到..\JDK\jre\lib\ext中, 重新编译即可以生成class文件. 得到

Action访问ServletAPI的三种方式

一.前言 Struts是一种基于MVC设计模式的web应用框架,主要担任C的角色,用于分离页面显示和业务逻辑处理,那其实在我们学习jsp的时候学过一个具有类似功能的东西--servlet.其实Struts本质上相当于servlet,可以理解Struts是对servlet的进一步封装和抽象.那么在servlet里面使用的对象,在Struts里面同样也是可以使用的,这也是这一章的主要内容. 二.传统的Web程序和Web容器传递数据的方法 HttpServletRequest的getParameter