实现一个很基本的功能,不知道在SSH的组合开发模式下如何实现。功能如下:防止在未输入用户名,密码的请情况下直接在地址栏中直接输入网址访问页
面。出现这种情况直接跳转到登陆。以前的实现:
方案1:(STRUTS)写一个继承action的类在其中检查session中用户名是否为NULL如果
是直接跳转。其他的ACTION均继承至该类。
方案2:利用filter逻辑和上面差不多(所有的JSP都放在了WEB-INF下了)在SSH下有没有好的实现方式呢?
(像字符的过滤不就是直接引入了一个filter吗)

解决方案 »

  1.   

    STRUTS流程的很长,可以做手脚和扩展的类多了,像RequestProcessor之类。WEB-INF是受保护的资源,放在里面是不能直接访问的。
      

  2.   

    请问在spring中类似于
      <filter>
         <filter-name>hibernateFilter</filter-name>
         <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
       </filter>
      <filter-mapping>
         <filter-name>hibernateFilter</filter-name>
         <url-pattern>/*</url-pattern>
       </filter-mapping> 这种的filter来拦截处理用户未登陆而直接输入URL的情况呢?
      

  3.   

    难道这就不能继承了吗?
    BaseAction extends org.springframework.web.struts.ActionSupportBaseAction中写个方法
    public boolean checklogin()
    {
          if()
          else
    }yourAction extends BaseAction调用checklogin()
      

  4.   

    OpenSessionInViewFilter 这个过滤器是做什么用的啊 调用流程是什么 谁来给讲讲