整合spring时,启动tomcat出现错误,访问项目都是404错误,也就是说项目没有部署成功。都调试了几天了,一直没有解决,诚心求朋友帮帮忙,谢谢!
首先我的SSH包没有错误,把我的SSH包作为其他项目的额包能够正常运行。beans.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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<context:annotation-config />
<context:component-scan base-package="com.maomao" /> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean> <bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean> <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.maomao.model</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.hbm2ddl.auto=update
javax.persistence.validation.mode=none
</value>
</property>
</bean> <bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
</beans>
struts.xml<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="stuts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.devMode" value="true" />
<package name="user" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="LoginInterceptor" class="com.maomao.interceptor.LoginInterceptor"></interceptor>
</interceptors>
<global-results>
<result name="login" type="redirect">/index.jsp</result>
<result name="error" type="redirect">/login.jsp</result>
<result name="logout" type="redirect">/login.jsp</result>
</global-results> <action name="user" class="com.maomao.action.UserAction" >
<result type="redirect">
/user.jsp
</result>
</action>
<!--
<action name="score_*" class="com.maomao.action.ScoreAction" method="{1}">
<result type="redirect">
/score_{1}.jsp
</result>
</action>
-->
</package>
<!--
<package name="admin" namespace="/admin" extends="struts-default">
<interceptors>
<interceptor name="LoginInterceptor" class="com.maomao.interceptor.LoginInterceptor"></interceptor>
</interceptors>
<global-results>
<result name="login" type="redirect">/admin/index.jsp</result>
<result name="error" type="redirect">/admin/login.jsp</result>
<result name="logout" type="redirect">/admin/login.jsp</result>
</global-results> <action name="user_*" class="com.maomao.action.UserAction" method="{1}">
<result type="redirect">
/user_{1}.jsp
</result>
</action>
<action name="score_*" class="com.maomao.action.ScoreAction" method="{1}">
<result type="redirect">
/score_{1}.jsp
</result>
</package>
-->
<!-- Add packages here --></struts>
首先我的SSH包没有错误,把我的SSH包作为其他项目的额包能够正常运行。beans.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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<context:annotation-config />
<context:component-scan base-package="com.maomao" /> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean> <bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean> <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.maomao.model</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.hbm2ddl.auto=update
javax.persistence.validation.mode=none
</value>
</property>
</bean> <bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
</beans>
struts.xml<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="stuts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.devMode" value="true" />
<package name="user" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="LoginInterceptor" class="com.maomao.interceptor.LoginInterceptor"></interceptor>
</interceptors>
<global-results>
<result name="login" type="redirect">/index.jsp</result>
<result name="error" type="redirect">/login.jsp</result>
<result name="logout" type="redirect">/login.jsp</result>
</global-results> <action name="user" class="com.maomao.action.UserAction" >
<result type="redirect">
/user.jsp
</result>
</action>
<!--
<action name="score_*" class="com.maomao.action.ScoreAction" method="{1}">
<result type="redirect">
/score_{1}.jsp
</result>
</action>
-->
</package>
<!--
<package name="admin" namespace="/admin" extends="struts-default">
<interceptors>
<interceptor name="LoginInterceptor" class="com.maomao.interceptor.LoginInterceptor"></interceptor>
</interceptors>
<global-results>
<result name="login" type="redirect">/admin/index.jsp</result>
<result name="error" type="redirect">/admin/login.jsp</result>
<result name="logout" type="redirect">/admin/login.jsp</result>
</global-results> <action name="user_*" class="com.maomao.action.UserAction" method="{1}">
<result type="redirect">
/user_{1}.jsp
</result>
</action>
<action name="score_*" class="com.maomao.action.ScoreAction" method="{1}">
<result type="redirect">
/score_{1}.jsp
</result>
</package>
-->
<!-- Add packages here --></struts>
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\bin;D:\apache-tomcat-7.0.11\bin
2012-2-20 23:14:37 org.apache.coyote.AbstractProtocolHandler init
信息: Initializing ProtocolHandler ["http-bio-80"]
2012-2-20 23:14:37 org.apache.coyote.AbstractProtocolHandler init
信息: Initializing ProtocolHandler ["ajp-bio-8009"]
2012-2-20 23:14:37 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1124 ms
2012-2-20 23:14:37 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
2012-2-20 23:14:37 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.11
2012-2-20 23:14:37 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory docs
2012-2-20 23:14:38 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory examples
2012-2-20 23:14:38 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2012-2-20 23:14:38 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2012-2-20 23:14:38 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory host-manager
2012-2-20 23:14:38 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2012-2-20 23:14:38 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory stu4.0
2012-2-20 23:15:21 org.apache.catalina.startup.HostConfig deployDirectory
严重: Error deploying web application directory stu4.0
java.lang.IllegalArgumentException: class javax.faces.validator.LengthValidator is not assignable to interface org.springframework.web.WebApplicationInitializer
at org.springframework.util.Assert.isAssignable(Assert.java:368)
at org.springframework.util.Assert.isAssignable(Assert.java:351)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:128)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:145)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5164)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1044)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:967)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1305)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:379)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:324)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1041)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
2012-2-20 23:15:21 org.apache.coyote.AbstractProtocolHandler start
信息: Starting ProtocolHandler ["http-bio-80"]
2012-2-20 23:15:21 org.apache.coyote.AbstractProtocolHandler start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
2012-2-20 23:15:21 org.apache.catalina.startup.Catalina start
信息: Server startup in 43534 ms
没用过jsf,帮不了更多。
不了解JSF啊,学了SSH,也只用了SSH的包,谢谢了