社区
Web 开发
帖子详情
我想在过滤器里面的url-patten里面的所有的请求都满足,除了某些之外,我应该怎样配置呢
Elim-Zhang
2010-09-09 06:59:15
我想在过滤器里面的url-patten里面的所有的请求都满足,除了某些之外,我应该怎样配置呢
我是想通过一个Filter来验证当前用户是否已登录,如果没有登录的话就转到登录页面;但是这样的话那个登录页面是不需要进行验证的,所以在url-patten里面我要把登录的那个页面除去,但我不知道应该怎样配置,请有经验的朋友们帮一下忙,谢谢了!
...全文
169
5
打赏
收藏
我想在过滤器里面的url-patten里面的所有的请求都满足,除了某些之外,我应该怎样配置呢
我想在过滤器里面的url-patten里面的所有的请求都满足,除了某些之外,我应该怎样配置呢 我是想通过一个Filter来验证当前用户是否已登录,如果没有登录的话就转到登录页面;但是这样的话那个登录页面是不需要进行验证的,所以在url-patten里面我要把登录的那个页面除去,但我不知道应该怎样配置,请有经验的朋友们帮一下忙,谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nvrenbumeigaga
2010-09-09
打赏
举报
回复
[Quote=引用 3 楼 kaida_7 的回复:]
public class LoginFilter implements Filter {
private String filterPattern;
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws……
[/Quote]
dingni
magong
2010-09-09
打赏
举报
回复
把需要验证过滤的页面全部放一个目录下,不需要过滤的放目录外,就好配了。
还有,
如果你过滤器中转登录页面用的是forward而不是redirect方式,则默认并不会再次被过滤,不存在什么无穷循环的问题。也就是说:对/*过滤好了,没什么大问题。
kaida_7
2010-09-09
打赏
举报
回复
public class LoginFilter implements Filter {
private String filterPattern;
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)resp;
//requestURI = ?
String requestURI = request.getRequestURI();
String page = requestURI.substring(request.getContextPath().length());
//判断HTTP SESSION中是否有LOGIN_ADMIN
String loginAdmin = (String)request.getSession().getAttribute("LOGIN_ADMIN");
if(page.matches(filterPattern)){
if(loginAdmin == null && !page.equals("/backend/login.jsp") && !page.equals("/backend/LoginServlet")
){
//redirect到login.jsp
response.sendRedirect(request.getContextPath()+"/backend/login.jsp");
return;
}
}
//继续向下执行
chain.doFilter(req, resp);
}
public void init(FilterConfig config) throws ServletException {
filterPattern = config.getInitParameter("filterPattern");
}
}
web.xml配置:
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>cn.com.leadfar.cms.backend.view.LoginFilter</filter-class>
<init-param>
<param-name>filterPattern</param-name>
<param-value>.*Servlet|.*\.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
duoduo6153
2010-09-09
打赏
举报
回复
不需要额外配置,在filter中通过request对象可以取得请求的url,如果是请求登录页面,就不用验证
yangfeihu
2010-09-09
打赏
举报
回复
直接在filter中写逻辑代码排除登陆页面
springmvc入门和前端控制器匹配方式
url
-
pat
ten
前端控制器匹配方式【】 后缀匹配(*.xx) 匹配的范围太小 /* 匹配所有
请求
会将css,html,jsp都匹配上 一般用在
过滤器
/ 匹配所有
请求
不会拦截.jsp 但是会拦截静态资源 css,html,images 为...
<
url
-
pat
tern>/*</
url
-
pat
tern>拦截
请求
,你真的了解吗?附上 springmvc
配置
文件详解
<
url
-
pat
tern >/< /
url
-
pat
tern >...当我们使用 /* 后,我们可以匹配所有的
请求
,即所有的
请求
都会经过该标签对应的 Servlet ,即能匹配到所有的
url
,包括路径型的和后缀型的
url
(包括/lo
Spring Boot 定制
URL
匹配规则的方法
事情的起源:有人问我,说编写了一个/hello访问路径,但是吧,不管是输入/hello还是/hello.html,还是/hello.xxx都能进行访问。当时我还以为他对代码进行...构建web应用程序时,并不是所有的
URL
请求
都遵循默认的规...
tomcat web.xml中
url
-
pat
tern的格式
今天
配置
springmvc 的Dis
pat
cherServlet的时候,
url
-
pat
tern
配置
成了/*,同时访问对应servlet需要跳转jsp界面,结果总是404,查阅了好多资料,明白了原因。 首先所有的
请求
进入tomcat,都会流经servlet,如果是jsp...
Filter
过滤器
生命周期,常用类和方法总结
*
过滤器
不是目标资源,它是在去目标资源前后的过程中执行的(也就是双向的过程),另外,
过滤器
通常是过滤访问路径,只要你访问的资源中包含了我要过滤的路径,我就对你进行过滤,并且它的功能很强大,什么都能被...
Web 开发
81,095
社区成员
341,712
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章