要使用 java filter 过滤用户的非常请求页面,如果没有登录那就显示主页。
用struts2 来控制跳转
java filter 配置 <filter>
<filter-name>filter</filter-name>
<filter-class>com.aps.comm.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
doFilter HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
String user= (String)httpRequest.getSession().getAttribute("user");
System.out.println("user"+user);
if (null == user || "".equals(user))
{
httpResponse.sendRedirect("/aps/index.jsp");
}
else
{
filterChain.doFilter(request, response);
}进入主页时,一真都在运行这一段代码,进入不了主页。 一个小问题都要问,欢迎大家拍。。
最好有例子,
用struts2 来控制跳转
java filter 配置 <filter>
<filter-name>filter</filter-name>
<filter-class>com.aps.comm.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
doFilter HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
String user= (String)httpRequest.getSession().getAttribute("user");
System.out.println("user"+user);
if (null == user || "".equals(user))
{
httpResponse.sendRedirect("/aps/index.jsp");
}
else
{
filterChain.doFilter(request, response);
}进入主页时,一真都在运行这一段代码,进入不了主页。 一个小问题都要问,欢迎大家拍。。
最好有例子,
index.jsp又被filter给过滤到,结果又到index.jsp,一直循环
用firefox就更明显了 if (null == user || "".equals(user))
{
httpResponse.sendRedirect("/aps/index.jsp");
} <filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>