⑴ java jsp 中过滤器 filter 有什么功能
过滤器来,听名字就自是过滤作用了!!!
就是在浏览器发送请求道服务器,可以先经过过滤器,然后再到我们写的逻辑部分。
这些过滤器可以实现 表单验证,用户权限等功能。比如一些不合法的表单输入,就可以再过滤
器中处理不让他运行我们的后面的逻辑。比如权限低的用户不能进入某些页面或者实现某些功能
⑵ JSP过滤器这样设置过滤一个次级路径下的所有URL
/sites/*这样就可以了,如果这个文件夹是某个子目录的话还需要添加它的父目录;
下面内是些例子
<url-pattern>:指定和过滤器关联容的URL,为”/*”表示所有URL;
例子1:单个过滤器配置:容器将其应用于所有接收的请求
<url-pattern>/*</url-pattern>
例子2:过滤器应用到特定目录或资源(文件)的配置:此容器只有在接收到对/mydocs目录中的资源的请求时才会应用该过滤器。
<url-pattern>/mydocs/*</url-pattern>
⑶ jsp 过滤器过滤jsp和html怎么写
<servlet-mapping>
<servlet-name>servletname</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servletname</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
⑷ jsp过滤器的三个方法 里面都要写些什么..
1. 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过滤器的创建步骤:
A.实现javax.servlet.Filter接口的servlet类
B.实现init方法,读取过滤器的初始化函数
C.实现doFilter方法,完成对请求或过滤的响应
D.调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应
F.在web.xml中配置Filter
2.使用过滤器处理中文问题
当用用户登陆页面输入帐号时,如果输入是中文,后台servlet再次输出这个内容时,可能就会是乱码,这是因为serlvet中默认是以ISO-8859-1格式编码的,如果后台有多个Servlet,多个参数,这样就不合适,这个问题,我们可以通过一个过滤器统一解决,使后台的输出输出都支持中文!将ISO-8859-1转码为GBK的那段代码!
3.使用过滤器认证用户:
每个过滤器也可以配置初始化参数,可以将不需要过滤的地址配置到这个Filter的配置参数中,过滤时,如果请求地址在配置参数中,则放行,这样就避免了在程序中硬编码。每个Filter中初始化时,都可以得到配置对象,在Filter中配置二个不需要过滤的地址,一个是登陆页面,一个是执行登陆认证的servlet;
====华丽的分割线====
上面是理论知识
下面是实践写法
Filter中的三个方法其实只写doFilter方法,另外两个直接由父类实现即可。
下面给出doFilter方法覆盖例子:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//执行servlet处理请求响应前需要做的代码
chain.doFilter(request, response);
//执行servlet处理请求响应后要做的代码
}
⑸ jsp 登陆验证过滤器 图片显示 问题
把你的工程页都放在一个文件夹里 ,单独把index.jsp(登陆页)拿出来。xml里只过滤工程页文件夹,别过滤登陆页就OK了。
⑹ 如何用java过滤器是不要把login.jsp页面也过滤掉
|public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest hrequest = (HttpServletRequest) request;
String uri = hrequest.getRequestURI();得到请求地址
String file[] = uri.split("/");通过/分隔,这样,数组的最后一个值,就是页面,
你比较下file[file.lenght-1].equals("login.jsp")就可以了。版
if(file[file.lenght-1].equals("login.jsp"||)){}要解除某页权面的过滤,用||在if里面添加就可以
chain.doFilter(request, response);
}
为了让层次跟清晰一点,最好还是分文件夹。
⑺ 关于jsp过滤器的问题,为什么把图片都过滤了呢
jsp过滤器主要的作用是保证页面支持中文输入和显示,
或者应用在一些论坛专上过滤一些不文明的词汇等属。
但是图片被过滤了是不可能的。
无非就是路径写错了,不知道楼主写的路径是相对的还是绝对的。
有一个好办法看路径的正误:右键点击X图,属性,查看该图片路径是否与你项目中保存的图片是同一个文件夹下的。
希望能帮的上你。
⑻ 如何编写jsp过滤器来过滤图片
可以用js控制,查找所有的图片元素,将可见性设为不可见
⑼ java我写了一个过滤器,所有访问的(js、jsp、各种图片等等)都会进过滤器,但是为什么.do、.action这样访
需要在web.xml文件中配置过滤器
<filter>
<filter-name>logonFilter</filter-name>
<filter-class>自己版写的权过滤器</filter-class>
</filter>
<filter-mapping>
<filter-name>logonFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>logonFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>