java jsp servlet filter
做B/S的企业级应用,可能会遇到这样一种情况,客户的文档(word等)保存在一个目录下,需要通过登录才能看到,但是
这些又都是静态地址,所以能直接输入地址就可以访问到文档。这时就需要用到Filter过滤器了。
Servlet
API的2.3版本的一个新功能就是能够为servlet和JSP页面定义过滤器。过滤器提供了某些早期服务器所支持的非标准“servlet链接”的一
种功能强大且标准的替代品。
过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个
servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:
以常规的方式调用资
源(即,调用servlet或JSP页面)。
利用修改过的请求信息调用资源。
调用资源,但在发送响应到客户机前
对其进行修改。
阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。
过滤器只在与servlet规范2.3版兼容的服务器上有作用。如果你的Web应用需要支持旧版服务器,就不能使用过滤器。
1.
建立基本过滤器
建立一个过滤器涉及下列五个步骤:
1)建立一个实现Filter接口的类。这个类需要三个方法,分别
是:doFilter、init和destroy。doFilter方法
包含主要的过滤代码(见第2步),init方法建立设置操作,而destroy方法进行清楚。
2)在doFilter方法中放入过滤行为。
doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求
头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。最后一个参数为FilterChain,如下一步所述,
此参数用来调用servlet或JSP页。
3)调用FilterChain对象的doFilter方法。Filter接口的doFilter方法
取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另一个过滤器与
servlet或JSP页面关联,则servlet或JSP页面被激活。
4)对相应的servlet和JSP页面注册过滤器。在部署描述符文件
(web.xml)中使用filter和filter-mapping元素。
5)禁用激活器servlet。防止用户利用缺省servlet
URL绕过过滤器设置。
1.1 建立一个实现Filter接口的类
所有过滤器都必须实现javax.servlet.Filter。这个
接口包含三个方法,分别为doFilter、init和destroy。
1、public void
doFilter(ServletRequ
相关文档:
Java EE 6 Platform草案包含了Web Profile
来源:http://www.infoq.com/cn/news/2009/02/java-ee6-draft
作者 Dionysios G. Synodinos 译者 宋玮 发布于 2009年2月3日 下午10时55分
社区 Java 主题 Enterprise Application Blocks 标签 Java EE
Java EE 6 Platform规范 ......
java中基本数据类型按精度低高的排列顺序是
byte<short<int<long<float<double
1.当把级别低的变量的值赋给级别高的变量时,系统会自动完成数据类型的转换 ......
package com.vista.Server;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels. ......
1. ActionContext
在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话
(Session)的一些信息,甚至需要直接对JavaServlet
Http的请求(HttpServletRequest),响应(HttpServletResponse)操作.
我们需要在Action中取得request请求参数"username"的值: ......
在WEB应用中,如果使用jsp作为view层的显示模板,都会被空格/空换行问题所困扰.
这个问题当年也困扰了我比较长的时间.因为在jsp内使用的EL标签和其他标签时,会产生大量的空格和换行符.例如:
------- start ----------
<c:choose>
<c:when test="${fn:length(mainPageList)>1&}&q ......