比如说别直接在浏览器访问 admin.jsp,这样不经过action,该如何拦截住没有权限的人进去 admin.jsp这个页面呢?是不是用到struts2的拦截功能?如果不是,那该用什么方法实现?

解决方案 »

  1.   

    struts2的拦截器这能拦截action如果你想拦截jsp那就用filter,具体配置方法和serlvet差不多只是把servlet改为filter
      

  2.   

    拦截页面用过滤器,先把jsp放到一个文件夹下,再把这个文件夹给过滤一下就行了
      

  3.   

    我最近刚做了一下这个,权限控制的,JSP页面用的filter拦截。
    主要是在web.xml中的配置,struts的filter与JSP页面拦截的filter放置先后顺序不同会有不同的效果。
    哪个在前面哪个先拦,我是把struts的放在了前面,这样Interceptor(拦截器)不会拦不符合Action命名规则的请求,这样JSP页面就会被放过,被页面拦截filter拦到,之后我是将请求向某个Action转发,再有Interceptor拦截。
    不过不建议这么写,我是因为先写的拦截器,之后添加的JSP拦截,一开始就有这种需求的话,建议将JSP拦截的放到前面,这样他会全部拦截,然后再转发。因为filter不能使用Spring的注入,所以必须转发一下。
    代码没在我这台电脑上,所以没法发上来,等有时间我发一下。