type Status report message Servlet action is not available description The requested resource (Servlet action is not available) is not available. 即时我修改
<action
path="/userLogin"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy"
validate="false">
<forward name="success" path="/index.jsp" />
</action>
也没有作用,我的问题出在哪呢?
并且/WEB-INF/applicationContext.xml中我已经引入了bean
<bean name="/userLogin" class="com.yourcompany.struts.action.UserloginAction" singleton="false" />
谢谢
解决方案 »
- 在线求救,快崩溃了 ,hibernate的问题。
- Hibernate主键一对一的保存出现问题
- hibernate连接多数据库
- 如何修改Sping源码
- 初学hibernate , org.hibernate.exception.GenericJDBCException: Cannot open connection 大家帮帮忙!!鞠躬了!!!
- FreeMarker的取特殊符号值的问题
- 用一般连接还是hibernate的数据库连接???
- 大家都来看看哦!!!
- ip和localhost的区别,真是怪问题
- jboss 3.0.7 中配orcale数据库连接池
- JAVA发送短信的时候的一个诡异的错误!~~~~~
- 一个关于数据库建表的问题
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>
上面拷贝的出现错误,还有我确信路径没有错误,感谢楼上我查过很多是由于jar包引起的错误,
可这怎么查啊
<set-property property="contextConfigLocation" value/WEB-INF/applicationContext.xml" />
</plug-in>
楼主是不是,上面红色的部分没有贴对啊,估计是web.xml没有被完全解析,导致servlet没有被发布到容器中,所以,访问的时候报404的错误。
楼主把 错误页面的错误信息贴出来看看。
<servlet-name>contextLoader</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value/WEB-INF/applicationContext.xml" />
</plug-in>
在web.xml中配置!
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config> <data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/userLogin"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy"
validate="false">
<forward name="success" path="/index.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>
</struts-config>application.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://192.168.10.250:1433;DatabaseName=test1">
</property>
<property name="username" value="sa"></property>
<property name="password" value="sa"></property>
</bean>
<bean id="SessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="datasource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="connection.characterEncoding">utf8</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="mappingDirectoryLocations">
<list >
<value>src/test</value>
</list>
</property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="SessionFactory"/>
</property>
<property name="allowCreate">
<value>true</value>
</property>
</bean>
<bean id="testDAO" class="test.C2DAO">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean name="/userLogin" class="com.yourcompany.struts.action.UserloginAction" singleton="false" /> </beans>
提示的错误就是上面的404错误,也就是当我访问
http://localhost:8080/WebRoot/userLogin.do时
[align=left] <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>[/align]
可看一下http://blog.csdn.net/gwt600/archive/2006/11/13/1381953.aspx
</form>
解决我会加分的
<action
path="/userLogin"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" validate="false">
<forward name="success" path="/index.jsp" />
</action>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
只要设置了
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>
就会产生404错误,恼了~~~~
谢谢大家帮帮忙啦,
可以把你们的配置文件(简单例子)帖出来看看呀
如:
<form action="userLogin.do">
</form>在Spring 配制文件中要有userLogin 的Bean声名
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>在Web.xml加入
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<!--加入监听器-->
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>applicationContext.xml
<bean name="/userLogin" class="com.yourcompany.struts.action.UserloginAction" singleton="false" >
<property name="xxxxxx">
<ref bean="xxxxxx"/>
</property>
</bean>
你是引用了,也被加载了,但没有被实例化!404错误就更好解决,就是找不到页面.
确实你所访问页面被WEB所加载了没?
http://blog.csdn.net/hurricane88/archive/2006/03/26/638682.aspx
信息: Servlet action is currently unavailable
2008-6-13 15:49:22 org.apache.catalina.core.ApplicationContext log
信息: Closing WebApplicationContext of Struts ActionServlet 'action', module ''
2008-6-13 15:52:43 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet action as unavailable
2008-6-13 15:52:43 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /WebRoot threw load() exception
javax.servlet.UnavailableException: org/springframework/context/ApplicationContextException
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:368)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-6-13 15:52:46 org.apache.catalina.core.ApplicationContext log
信息: Initializing WebApplicationContext for Struts ActionServlet 'action', module ''
2008-6-13 15:53:21 org.apache.catalina.core.StandardWrapperValve invoke
信息: Servlet action is currently unavailable
2008-6-13 15:53:22 org.apache.catalina.core.ApplicationContext log
信息: Closing WebApplicationContext of Struts ActionServlet 'action', module ''
我看了日志,请问这是什么错误?
<set-property property="contextConfigLocation" value/WEB-INF/applicationContext.xml" />
</plug-in>这个要防在配置文件的最后
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://192.168.10.250:1433;DatabaseName=test1">
</property>
<property name="username" value="sa"> </property>
<property name="password" value="sa"> </property>
</bean>
<bean id="SessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="datasource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="connection.characterEncoding">utf8 </prop>
<prop key="hibernate.show_sql">true </prop>
<prop key="hibernate.hbm2ddl.auto">update </prop>
</props>
</property>
<property name="mappingDirectoryLocations">
<list >
<value>src/test </value>
</list>
</property>
</bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="SessionFactory"/>
</property>
<property name="allowCreate">
<value>true </value>
</property>
</bean>
<bean id="testDAO" class="test.C2DAO">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean name="/userLogin"
class="com.yourcompany.struts.action.UserloginAction"
singleton="false">
<property name="testDAO">
<ref bean="testDAO"/>
</property>
</bean>
</beans>
============================struts=======================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/userLogin"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy">
validate="false">
<forward name="success" path="/index.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
</plug-in>
</struts-config> 最后别记你的web.xml要加载struts-config.xml
application.xml <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://192.168.10.250:1433;DatabaseName=test1">
</property>
<property name="username" value="sa"> </property>
<property name="password" value="sa"> </property>
</bean>
<bean id="SessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="datasource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="connection.characterEncoding">utf8 </prop>
<prop key="hibernate.show_sql">true </prop>
<prop key="hibernate.hbm2ddl.auto">update </prop>
</props>
</property>
<property name="mappingDirectoryLocations">
<list >
<value>src/test </value>
</list>
</property>
</bean> <bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
<property name="allowCreate">
<value>true </value>
</property>
</bean>
<bean id="testDAO" class="test.C2DAO">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
</bean>
<bean name="/userLogin"
class="com.yourcompany.struts.action.UserloginAction"
singleton="false">
<property name="testDAO">
<ref bean="testDAO"/>
</property>
</bean>
</beans> 另外楼主要看web容器启动时有没有报错,是不是在启动都实例化了sessionFactory,transactionManager,testDAO这些BEAN,
如果这都没有问题楼主就要检查其它地方了
<value>true </value>
</property> 不知楼主这个属性是起到什么作用
谢谢,j2ee版块的大家都很热情