导航:首页 > 净水问答 > java过滤器拦截登录

java过滤器拦截登录

发布时间:2021-11-15 20:16:11

A. post请求会被登陆过滤器拦截吗

会,post提交会使用过滤器

B. java中过滤器和拦截器的区别

过滤器(filter)是tomcat的东西,配置后,对所有的request都起作用(当然,也可以配置例外)。拦截器(interceptor)是struts的东西,它只对Action起作用。可以认为interceptor比filter作用粒度更细。

C. java web登录后的各种请求在浏览器地址不变,过滤器该怎样拦截每次的请求

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
if(req.getSession().getAttribute("user")==null){
req.setAttribute("error", "请你先登录");
//非法请求才会进到这里面,在这里保存请求的url地址,在成功登录后再进行跳转
req.getSession().setAttribute("goUrl", req.getRequestURL()+"?"+ req.getQueryString());
request.getRequestDispatcher("/ulogin.jsp").forward(request, response);
}

else{
chain.doFilter(request, response);
}
}
上面的代码是过滤器中的代码
下面的是servlet中的代码
if(request.getSession().getAttribute("goUrl")!=null){
String url = (String)request.getSession().getAttribute("goUrl");
response.sendRedirect(url);
}
else{
response.sendRedirect("/webshopping/index.jsp");
}

D. java web 过滤器跟拦截器的区别和使用

区别如下:

1 、拦截器是基于java的反射机制的,而过滤器是基于函数回调。

2 、拦截器不依赖与servlet容器,过滤器依赖与servlet容器。

3 、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。

4 、拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。

5 、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。

使用如下:

在Servlet作为过滤器使用时,它可以对客户的请求进行处理。处理完成后,它会交给下一个过滤器处理,这样,客户的请求在过滤链里逐个处理,直到请求发送到目标为止。例如,某网站里有提交“修改的注册信息”的网页,当用户填写完修改信息并提交后,服务器在进行处理时需要做两项工作:判断客户端的会话是否有效;对提交的数据进行统一编码。

这两项工作可以在由两个过滤器组成的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标;如果过滤器处理不成功,将把视图派发到指定的错误页面。

(4)java过滤器拦截登录扩展阅读

拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。

在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。

过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。

E. 判断用户登录是用springmvc 拦截器还是filter

在struts2中用过filter过滤器,在springmvc中还有拦截器,它们都能过滤请求,但是到底有什么区别呢?
一、定义

拦截器 :是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。
过滤器:是在javaweb中,你传入的request、response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符.。
二、xml文件配置
1.filter
该过滤器的方法是创建一个类XXXFilter实现此接口,并在该类中的doFilter方法中声明过滤规则,然后在配置文件web.xml中声明他所过滤的路径

<filter>
<filter-name>XXXFilter</filter-name>
<filter-class>
com.web.util.XXXFilter
</filter-class>
</filter>

<filter-mapping>
<filter-name>XXXFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter>
<filter-name>XXXFilter</filter-name>
<filter-class>
com.web.util.XXXFilter
</filter-class>
</filter>

<filter-mapping>
<filter-name>XXXFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
2.Interceptor

它也要实现HandlerInterceptor 接口,这里只介绍方法注解配置

<!-- 拦截器 -->
<mvc:interceptors>
<!-- 多个拦截器,顺序执行 -->
<mvc:interceptor>
<mvc:mapping path="/entryOrJsonController/*" /><!-- 如果不配置或/*,将拦截所有的Controller -->
<bean class="com.wy.interceptor.CommonInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
<!-- 拦截器 -->
<mvc:interceptors>
<!-- 多个拦截器,顺序执行 -->
<mvc:interceptor>
<mvc:mapping path="/entryOrJsonController/*" /><!-- 如果不配置或/*,将拦截所有的Controller -->
<bean class="com.wy.interceptor.CommonInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

三、具体区别

filter
Interceptor

多个的执行顺序
根据filter mapping配置的先后顺序
按照配置的顺序,但是可以通过order控制顺序

规范
在Servlet规范中定义的,是Servlet容器支持的
Spring容器内的,是Spring框架支持的。

使用范围
只能用于Web程序中
既可以用于Web程序,也可以用于Application、Swing程序中。

深度
Filter在只在Servlet前后起作用
拦截器能够深入到方法前后、异常抛出前后等

四、总结
两者的本质区别:拦截器是基于java的反射机制的,而过滤器是基于函数回调。从灵活性上说拦截器功能更强大些,Filter能做的事情,他都能做,而且可以在请求前,请求后执行,比较灵活。Filter主要是针对URL地址做一个编码的事情、过滤掉没用的参数、安全校验(比较泛的,比如登录不登录之类),太细的话,还是建议用interceptor。不过还是根据不同情况选择合适的。

F. java 过滤器 拦截器

http://www.blogjava.net/hello-yun/archive/2011/11/21/364469.html

G. JAVA过滤器和拦截器的区别

1 拦截器是基于java的反射机制的,而过滤器是基于函数回调。
2 拦截器不依赖与内servlet容器,过滤器依容赖与servlet容器。
3 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
4 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。
5 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次

H. java怎么实现对某些需要登录才能查看的页面进行拦截不需要登录的jsp页面不需要拦截!请高手赐教!

如果是简单的页面权限控制,采用过滤器完全就可以实现了。 实现思路:
1. 设计需要权限访问的页面存放在指定的目录,如: /A/xxx.JSP 。 不需要登录访问的页面则不存放在A目录下
2. 自己写个过滤器, 过滤器拦截的URL为 /A/* (url-mapping的配置); 过滤器的逻辑是,只有登录的请求,才forward请求的页面,没有登录的请求则跳转到登陆页面

如果是复杂的权限控制,可以考虑采用spring security 组件来实现,从而节省开发时间

I. java中如何用过滤器来拦截用户不允许访问的

编写 过滤器来 拦截请求,在过滤器中自判断请求的路径,如果请求是可以访问的 那就放行,如果需要验证用户的 那就 获取session,判断用户情况,是否登录 ,是否拥有权限这些,通过就放行,反之跳转到报错页面 或者登录页面

J. java web登陆状态过滤器 图片也被拦截了,怎么办

在过滤器中添加代码String uri = request.getRequestURI();
过滤uri后缀是.js,.css的不进行校验就好了,另外一种方法则相反,判断你要的后缀,然后过滤,其他的都放行

阅读全文

与java过滤器拦截登录相关的资料

热点内容
循环水水垢预防方法 浏览:253
负离子去黑头If 浏览:950
废水温度计 浏览:787
净水机出水有白色杂质怎么解决 浏览:182
净水器制出来的水是什么水 浏览:144
新明锐机油滤芯是什么型号 浏览:539
蒂尔玛浴室淋浴玻璃除垢剂 浏览:493
爱佳尔的滤芯多少钱 浏览:968
佛山市污水多少万吨每天 浏览:924
树脂吊坠闪粉制作 浏览:829
纯水比怎么算 浏览:816
一品泉净水器多少钱 浏览:135
合川大石污水处理厂 浏览:977
浩泽净水器一个滤芯多少钱 浏览:842
日本准备将核废水排入大海 浏览:382
空气净化器选择怎么选 浏览:339
污水处理用药记录表 浏览:860
什么采用蒸馏酒 浏览:854
饮水机自动抽水是什么功能 浏览:77
青岛大桶纯净水哪里有 浏览:413