Servlet生命周期
Servlet生命周期是面试中经常问道的问题。Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。
关于Servlet生命周期,首先要明白在Servlet生命周期中,servlet对象只存在一个,明白这一点是很重要的。由于servlet对象只存在一个,所以servlet对象只new一次,初始化一次。 继续阅读…
Servlet生命周期是面试中经常问道的问题。Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。
关于Servlet生命周期,首先要明白在Servlet生命周期中,servlet对象只存在一个,明白这一点是很重要的。由于servlet对象只存在一个,所以servlet对象只new一次,初始化一次。 继续阅读…
以前为了在前台完成JavaScript对后天代码的调用,用的是DWR框架,今天发现使用JSON-RPC-Java也可以实现DWR所实现的功能。
JSON-RPC-Java是一个用Java来实现动态JSON-RPC的框架. 利用它内置的一个轻级量JSON-RPC JavaScripIt客户端,可以让你透明地在JavaScript中调用Java代码。JSON-RPC-Java可运行在Servlet容器中如 Tomcat也可以运行在JBoss与其它J2EE应用服务器中因此可以在一个基于JavaScript与DHTML的Web应用程序中利用它来直接调用普通Java方法与EJB方法。 继续阅读…
一、创建cookies
用cookies的构造函数,cookies(String name,String value),需要注意的是参数名不能含有空格及下列字符:[ ] ,( ) = ” / ? @ : ;
二、 读取cookies和设定cookies属性
在将cookies加入到输出标题之前,可以取得并且设定cookies的属性,具体函数如下:
函数 说明
getComment/setComment 得到/设置 cookie的注释
getDomain/setDomain 得到/设置 cookies应用的域名。通常cookies只会返回到发送该cookies的主机上。用该方法可以通知浏览器将cookies返回到指定的在同一域的其他主机上。
getMaxAge/setMaxAge 得到/设置cookie有效时间期间,默认为此次连接,及直到关闭该页面,cookies不会存放在硬盘上。
getName/setName 得到/设置cookie名。 名称与值是开发者最为关心的,用HttpServletRequest 得到Cookie 对象数组,通常就循环调用getName,直到得到想要得到的cookies,再用getValue得到其中的值
getPath/setPath 得到/设置cookies应用的目录。如果不指定与该cookie 将适用于与当前页面在同一目录以及该目录下的所有子目录的文件。
getSecure/setSecure 得到/设置 是否cookies应该按照加密方式传送
getValue/setValue 得到/设置cookie的值
getVersion/setVersion 得到/设置cookie 的版本号,默认为0。 继续阅读…
Web应用程序生命周期事件及监听器(Servlet V2.3版本以后新增功能)
1. 什么是事件监听器?
1) 支持ServletContext、HttpSession(since v2.3)及ServletRequest(since v2.4)中状态改变的事件通知;
2) 实现了一个或多个servlet事件监听器接口的类型;
3) 控制ServletContext、HttpSession(since v2.3)及ServletRequest(since v2.4)中的生命周期;
2. Servlet Context事件监听器
1) 对于应用程序而言在JVM层别管理资源或保存状态
2) 有二种类型的事件监听器:
a. ServletContextListener(以下是该监听器的方法)
contextDestroyed(ServletContextEvent sce)
contextInitialized(ServletContextEvent sce)
b. ServletContextAttributeListener(以下是该监听器的方法)
attributeAdded(ServletContextAttributeEvent scab)
attributeRemoved(ServletContextAttributeEvent scab)
attributeReplaced(ServletContextAttributeEvent scab)
继续阅读…
过滤器
1. 什么是过滤器?
与Servlet相似,过滤器是一些Web应用程序组件,可以绑定到一个Web应用程序档案中。但是与其他Web应用程序组件不同的是,过滤器是“链”在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发的响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。
Servlet过滤器是Servlet的一种特殊用法,主要用来完成一些通用的操作。比如编码的过滤,判断用户的登陆状态等等。Servlet过滤器的适用场合:
A.认证过滤
B.登录和审核过滤
C.图像转换过滤
D.数据压缩过滤
E.加密过滤
F.令牌过滤
G.资源访问触发事件过滤
Servlet过滤器接口的构成:
所有的Servlet过滤器类都必须实现javax.servlet.Filter接口。这个接口含有3个过滤器类必须实现的方法:
方法 说明
init(FilterConfig cfg) 这是Servlet过滤器的初始化方法,性质等同与servlet的init方法。
doFilter(ServletRequest,ServletResponse,FilterChain) 完成实际的过滤操作,当请求访问过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器
destroy() Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源。,性质等同与servlet的destory()方法。
Servlet过滤器的创建步骤: 继续阅读…
Servlets中的持久状态
1. HTTP协议中无状态的优缺点:
优点:可以服务很多客户端;
缺点:不能在多个请求之间共享信息(通过Cookie和Session解决);
2. Cookies
1) Cookies是Web服务器发送到浏览器的简短文本信息,以后在访问同一个Web站点或域时浏览器就会毫无更改地返回该文本信息。
2) 用户可以决定是否接受Cookie。
3) 一个Cookie由以下内容组成:
a. name;
b. value;
c. 一些操作属性:路径或所在域、有效期以及版本号。
4) 每个站点,浏览器通常只接受20条Cookie,总共接受300条,以及每条Cookie限制为4KB。 继续阅读…
Recent Comments