我的网站,主目录下,有top.jsp,login.html,admin目录,而admin目录下有login.html,index.jsp;
为什么在主目录下使用login.html页使录之后top.jsp页可以得到session的值,而在admin目录是index.jsp页得不到session的值,只有以扩展名为action时才可以得到,这是为什么呢?
struts.xml
----------------------------
 <package name="index" extends="struts-default">
<action name="Serch" class="cn.oshell.Serch.all" >
   <result name="success" />
   </action>
  
   <action name="Reg" class="cn.oshell.user.reg">
   <result name="success">top.html</result>
   <result name="error">reg.jsp</result>
   <result name="reg">reg.jsp</result>
   </action>
  
   <action name="Login" class="cn.oshell.user.login">
   <result></result>
   </action>
</package><package name="Admin"  namespace="" extends="struts-default">
<action name="AdminLogin" class="cn.oshell.admin.login">
<result name="success">index.jsp</result>
<result name="error">error.html</result>
</action>
</package>
web.xml
-----------------------------------------------------
<filter>
   <filter-name>index</filter-name>
   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  <filter-mapping>
   <filter-name>index</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>  <filter>
   <filter-name>Admin</filter-name>
   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  <filter-mapping>
   <filter-name>Admin</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>

解决方案 »

  1.   

    路径问题:
    假设目录关系是:.../主目录/admin/*.* 
    <filter> 
        <filter-name> index </filter-name> 
        <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> 
        </filter> 
        <filter-mapping> 
        <filter-name> index </filter-name> 
        <url-pattern> /* </url-pattern> 
        </filter-mapping>     <filter> 
        <filter-name> Admin </filter-name> 
        <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> 
        </filter> 
        <filter-mapping> 
        <filter-name> Admin </filter-name> 
        <url-pattern> /admin/* </url-pattern> 
        </filter-mapping> 
     
    就是说目录关系和配置文件中的url-pattern对应。
      

  2.   


     jsp中不要去调用session,   把view层和控制层分开.    这样比较好。。 
      

  3.   

    99%的可能性,你的项目放错了位置,包括你的虚拟目录配置的 docBase和appBase设置错误。OVER.
      

  4.   


    jsp中使用session不好吗???
      

  5.   

    我感觉
    <filter-mapping> 
        <filter-name> Admin </filter-name> 
        <url-pattern> /admin/* </url-pattern> 
    </filter-mapping>
    这样应该可以,你试一下