|
锁定老贴子 主题:如何控制访问页面,filter可以吗?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-05-22
希望用户在url中不能随便敲入jsp页面就可以进去。而只允许登录用户这么做。我试着用filter这么做,然后在web.xml加入它。但是发现这样子jsp的css效果都没有了,是什么原因。
我jsp页面的css是这样引进来的: <%@ taglib prefix="s" uri="/struts-tags"%> <link rel="stylesheet" type="text/css" href="<s:url value="/css/login.css"/>" media="screen" /> 还有就是web.xml中filter的顺序是不是决定了他们载入的顺序,也就是说先进入第一个filter,然后第二个。 我的是这样子的:
<filter>
<filter-name>Login Filter</filter-name>
<filter-class>test.AuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Login Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2007-05-22
页面引用的css也被filter给过滤掉了.
|
|
| 返回顶楼 | |
|
时间:2007-05-22
那如何做呢?一般是怎么做呢?
|
|
| 返回顶楼 | |
|
时间:2007-05-22
我不知道别人是怎么做的,我就是用filter做的,不过要设置一些忽略资源,比如登录页面,错误页面,无碍的js,jpg,gif,css。
|
|
| 返回顶楼 | |
|
时间:2007-05-22
if(isIgnore(path) || canAccess(path)){
chain.doFilter(...);
}else{
//redirect to error page;
}
|
|
| 返回顶楼 | |
|
时间:2007-05-22
嗯。就是要在filter这个类里面修改咯?
能否在web.xml里面实现呢? |
|
| 返回顶楼 | |
|
时间:2007-05-22
我是struts2和spring整合的。不知道用aop的方法能不能做?
|
|
| 返回顶楼 | |
|
时间:2007-05-25
struts2就是webwork2,定义一个拦截器就可以了
|
|
| 返回顶楼 | |
|
时间:2007-05-25
直接对action进行拦截挺好的!
|
|
| 返回顶楼 | |
|
时间:2007-05-25
我现在是用filter做的,如下:
doFilter(ServletRequest request,ServletResponse response,FilterChain next) throws IOException,ServletException{
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
HttpSession session = req.getSession();
String requesturi = req.getRequestURI();
if(requesturi.endsWith("css")
|| requesturi.endsWith("js")
|| requesturi.endsWith("login.jsp")
|| requesturi.endsWith("login.action")
|| requesturi.endsWith("Logout.action")
|| session.getAttribute(Constants.USER_KEY) != null){
next.doFilter(request, response);
}else if(session.getAttribute(Constants.USER_KEY) == null
){
resp.sendRedirect("/PowerGrid/login.jsp");
}
拦截器的话应该怎么做呢?指导一下。 |
|
| 返回顶楼 | |







