我的网站,主目录下,有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>
为什么在主目录下使用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>
解决方案 »
- fmt:formatNumber 不能格式化变量
- 概念问题,关于.NET 和JSP
- 我用tomcat4.1下面的ZIP包对指定多个文件进行压缩,如果页面上用charset=gb2312,那么压缩的文件在打开时“不可预料的压缩文件末端”错误
- 百分求jsp整站设计概要及设计详细说明书
- java timer停止的问题??求教
- servlet里可以链接某目录下的文件吗?
- java违例的控制
- 一个非常非常小儿科的问题——JSP怎么.......连接数据库.......的??
- JAXB如何设置默认的命名空间
- java webservice返回xml解析异常问题!!!
- 错误:org.apache.jasper.JasperException: Unable to compile class for JSP:
- java的enum,能不能动态增加元素?
假设目录关系是:.../主目录/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对应。
jsp中不要去调用session, 把view层和控制层分开. 这样比较好。。
jsp中使用session不好吗???
<filter-mapping>
<filter-name> Admin </filter-name>
<url-pattern> /admin/* </url-pattern>
</filter-mapping>
这样应该可以,你试一下