这是一个ssh的小项目,但我在做表现层时,第一个请求就没通过,看了半天不知道错误在哪,请各位大侠帮小弟指点一下!
先看看几个配置文件
web.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
auction</display-name>
<filter>
<filter-name>requestContextFilter</filter-name>
<filter-class>org.springframework.web.filter.RequestContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>requestContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>web.EncodingActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
web包下我已经写了EncodingActionServlet类,对于用户*.do的请求作中文处理
struts.xml如下
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>
<form-beans>
<form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
<global-forwards>
<forward name="regist" path="/WEB-INF/jsp/regist.jsp"/>
</global-forwards>
<action-mappings>
<action path="/LoginAction"
type="org.springframework.web.struts.DelegatingActionProxy"
name="loginForm"
scope="request"
validate="true"
input="/WEB-INF/jsp/login.jsp"
>
<forward name="success" path="/WEB-INF/jsp/success.jsp"/>
<forward name="failure" path="/WEB-INF/jsp/fail.jsp"/>
</action>
<action path="/login" forward="/WEB-INF/jsp/login.jsp"/>
</action-mappings>
<message-resources parameter="message"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/org/apache/struts/validator/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml,
/WEB-INF/action-servlet.xml,
/WEB-INF/daoContext.xml"/>
</plug-in>
</struts-config>然后我在项目名下建了jsp页面(index.jsp)就一句跳转,内容如下:
<jsp:forward page="login.do"/>
然后我又在WEB-INF下的jsp下建了一个jsp页面(login.jsp),在WEB-INF下lib下也导入了3个框架的jar包,但是当我运行index.jsp页面时,就出现“HTTP Status 503 - Servlet action is currently unavailable”的错误,但是我把index.jsp里的<jsp:forward page="login.do"/>,改成<jsp:forward page="/WEB-INF/jsp/login.jsp"/>就能过去,所以给我感觉就是struts没起作用,这个跳转纯粹是struts的事,和其他2个框架没什么关系,也没做任何action,请各位高手帮小弟看看,若需要看什么文件请说下,小弟在线等!补充下:用的是Eclipse,tomcat绝对没问题,之前我也完成了一个Struts+Hibernate小项目
先看看几个配置文件
web.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
auction</display-name>
<filter>
<filter-name>requestContextFilter</filter-name>
<filter-class>org.springframework.web.filter.RequestContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>requestContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>web.EncodingActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
web包下我已经写了EncodingActionServlet类,对于用户*.do的请求作中文处理
struts.xml如下
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>
<form-beans>
<form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
<global-forwards>
<forward name="regist" path="/WEB-INF/jsp/regist.jsp"/>
</global-forwards>
<action-mappings>
<action path="/LoginAction"
type="org.springframework.web.struts.DelegatingActionProxy"
name="loginForm"
scope="request"
validate="true"
input="/WEB-INF/jsp/login.jsp"
>
<forward name="success" path="/WEB-INF/jsp/success.jsp"/>
<forward name="failure" path="/WEB-INF/jsp/fail.jsp"/>
</action>
<action path="/login" forward="/WEB-INF/jsp/login.jsp"/>
</action-mappings>
<message-resources parameter="message"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/org/apache/struts/validator/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml,
/WEB-INF/action-servlet.xml,
/WEB-INF/daoContext.xml"/>
</plug-in>
</struts-config>然后我在项目名下建了jsp页面(index.jsp)就一句跳转,内容如下:
<jsp:forward page="login.do"/>
然后我又在WEB-INF下的jsp下建了一个jsp页面(login.jsp),在WEB-INF下lib下也导入了3个框架的jar包,但是当我运行index.jsp页面时,就出现“HTTP Status 503 - Servlet action is currently unavailable”的错误,但是我把index.jsp里的<jsp:forward page="login.do"/>,改成<jsp:forward page="/WEB-INF/jsp/login.jsp"/>就能过去,所以给我感觉就是struts没起作用,这个跳转纯粹是struts的事,和其他2个框架没什么关系,也没做任何action,请各位高手帮小弟看看,若需要看什么文件请说下,小弟在线等!补充下:用的是Eclipse,tomcat绝对没问题,之前我也完成了一个Struts+Hibernate小项目
楼主【flymaxdragon】截止到2008-07-26 11:44:07的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:6 得分贴总数量:2 回帖的得分率:33%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
daoContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean name="/LoginAction" class="action.LoginAction" scope="request">
<property name="ami" ref="auctionManager"/>
</bean>
</beans>
auctionManager是业务实例,此实例配置在applicationContext.xml中但我感觉我当前的这个问题和这个貌似没什么关系
<action path="/login" forward="/WEB-INF/jsp/login.jsp"/>
看不出来有什么不对的
关注中
<action path="/login" forward="/jsp/login.jsp"/>
我的<action path="/login" forward="/WEB-INF/jsp/login.jsp"/>这个是正确的
只是<action path="/login" forward="login.do"/>这个action不能通过