Struts拦截器 struts拦截器只能拦截action,但如果我直接访问的是页面,那么这个拦截器是不会进行拦截的,请问一般用什么方法来解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那你只有写filter了,struts没法 struts2 可以拦截页面! struts1你自己配置个过滤器就可以了 页面一般都放在web-inf下,tomcat保护,这样你就直接访问不到了。 2楼说的可以拦截页面是什么意思,比如http://localhost:8080/admin/main.jsp 这个链接,你能使用struts去拦截用户有没有登录?代码贴下 在sturts2中,先编写一个过滤器,然后在web.xml 文件中配置如下: <filter> <filter-name>login(可任意命名)</filter-name> <filter-class>com.LoginNotFilter</filter-class> </filter> <filter-mapping> <filter-name>login</filter-name> <url-patten>/ht/* (jsp路劲,表示/WebRoot/ht/目录下的所有jsp)</url-patten> </filter-mapping>过滤器代码如下:package com;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.FilterConfig;import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpServletRequest;public class LoginNotFilter implements Filter{ public void init(FilterConfig fc){} @SuppressWarnings("unchecked") public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException { HttpServletRequest req = (HttpServletRequest)request; String path = req.getContextPath(); HttpSession session = req.getSession(); Object users = session.getAttribute("userLogin"); if(users!=null){ chain.doFilter(request,response); }else{ session.setAttribute("result","您没有登录或登陆超时"); response.getWriter().println("<script>location.href='"+ path +"/login.jsp';</script>"); } } public void destroy(){}}以上代码适用于用户登录才能进入后台的jsp。 struts2拦截action, filter拦截jsp就可以了,特殊的可以考虑单独配置。。 怎么把一个字符串转换成一个字符串数组(要简便)!!!!!急急急!!! Weblogic高手帮帮忙 spring 依赖注入的问题 求返回按纽实现的最佳办法:谢谢 这是什么错误啊?急! 用JavaBean无法实现文件操作,不知是何原因,急! BO和POJO的区别? 精通EJB第二版》的电子版 j2ee server是什么啊? Freemarker自定义函数问题 垃圾的hibernate 用fckeditor在编辑页面时,可不可以直接从word文档中复制图文,粘贴到编辑器中,再提交到服务器上。
<filter>
<filter-name>login(可任意命名)</filter-name>
<filter-class>com.LoginNotFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>login</filter-name>
<url-patten>/ht/* (jsp路劲,表示/WebRoot/ht/目录下的所有jsp)</url-patten>
</filter-mapping>
过滤器代码如下:
package com;import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterConfig;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
public class LoginNotFilter implements Filter
{
public void init(FilterConfig fc){}
@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException
{
HttpServletRequest req = (HttpServletRequest)request;
String path = req.getContextPath();
HttpSession session = req.getSession();
Object users = session.getAttribute("userLogin");
if(users!=null){
chain.doFilter(request,response);
}else{
session.setAttribute("result","您没有登录或登陆超时");
response.getWriter().println("<script>location.href='"+ path +"/login.jsp';</script>");
}
}
public void destroy(){}
}
以上代码适用于用户登录才能进入后台的jsp。