eclipse下的maven web项目目录已经无报错,但访问jsp还是报404错误

luoye_rcy 2017-01-04 07:58:41
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroFilter' defined in file [D:\Program Files\tomcat8\apache-tomcat-8.0.37\webapps\cloudparking\WEB-INF\classes\applicationContext-shiro.xml]: Cannot resolve reference to bean 'securityManager' while setting bean property 'securityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityManager' defined in file [D:\Program Files\tomcat8\apache-tomcat-8.0.37\webapps\cloudparking\WEB-INF\classes\applicationContext-shiro.xml]: Cannot resolve reference to bean 'shiroDbRealm' while setting bean property 'realm'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroDbRealm': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.dnake.cloudparking.service.UserService com.dnake.cloudparking.auth.AuthRealm.userService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.dnake.cloudparking.dao.UserDao com.dnake.cloudparking.service.impl.UserServiceImpl.userDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao': Cannot create inner bean '(inner bean)#1e7080c' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#1e7080c': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in file [D:\Program Files\tomcat8\apache-tomcat-8.0.37\webapps\cloudparking\WEB-INF\classes\applicationContext.xml]: Cannot resolve reference to bean 'hibernateJpaVendorAdapter' while setting bean property 'jpaVendorAdapter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateJpaVendorAdapter' defined in file [D:\Program Files\tomcat8\apache-tomcat-8.0.37\webapps\cloudparking\WEB-INF\classes\applicationContext.xml]: Cannot create inner bean 'org.springside.modules.persistence.Hibernates#f795ba' of type [org.springside.modules.persistence.Hibernates] while setting bean property 'databasePlatform'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springside.modules.persistence.Hibernates#f795ba' defined in file [D:\Program Files\tomcat8\apache-tomcat-8.0.37\webapps\cloudparking\WEB-INF\classes\applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public static java.lang.String org.springside.modules.persistence.Hibernates.getDialect(javax.sql.DataSource)] threw exception; nested exception is java.lang.RuntimeException: Could not get database url

上述为console信息
...全文
1322 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33470042 2017-06-06
  • 打赏
  • 举报
回复
是applicationContext出错啦!把applicationContext-shiro.xml文件的代码贴出来吧!主要是sericutyManager这一块的代码
ryuugu_rena 2017-01-12
  • 打赏
  • 举报
回复
404是路径错误,坑定是路径写错了。
luoye_rcy 2017-01-12
  • 打赏
  • 举报
回复
数据库名称写错了。。日了狗了
luoye_rcy 2017-01-05
  • 打赏
  • 举报
回复
引用 3 楼 qnmdcsdn 的回复:
[quote=引用 2 楼 luoye_rcy 的回复:] [quote=引用 1 楼 qnmdcsdn 的回复:] applicationContext.xml
什么意思[/quote] 把这个文件贴出来看看,报错最后显示看起来像是数据库连接这里有问题 nested exception is java.lang.RuntimeException: Could not get database url[/quote]
<?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:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="
	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
	http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
	http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd
	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
	http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd"
	default-lazy-init="true">
	<description>Spring公共配置</description>

	<!-- 使用annotation 自动注册bean, 并保证@Required、@Autowired的属性被注入 -->
	<context:component-scan base-package="com.dnake.cloudparking">
		<context:exclude-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
		<context:exclude-filter type="annotation"
			expression="org.springframework.web.bind.annotation.ControllerAdvice" />
	</context:component-scan>
	
	<!-- Jpa Entity Manager 配置 -->
	<bean id="entityManagerFactory"
		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter" />
		<property name="packagesToScan" value="com.dnake.cloudparking" />
		<property name="jpaProperties">
			<props>
				<!-- 命名规则 My_NAME->MyName -->
				<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="hibernate.hbm2ddl.auto">update</prop>
				<prop key="hibernate.format_sql">false</prop>
				<prop key="hibernate.use_sql_comments">false</prop>
			</props>
		</property>   
	</bean>
	<bean id="hibernateJpaVendorAdapter"
		class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
		<property name="databasePlatform">
			<bean factory-method="getDialect"
				class="org.springside.modules.persistence.Hibernates">
				<constructor-arg ref="dataSource" />
			</bean>
		</property>
	</bean>

	<!-- 支持上传文件 -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

	<!-- Spring Data Jpa配置 -->
	<jpa:repositories base-package="com.dnake.cloudparking"
		transaction-manager-ref="transactionManager"
		entity-manager-factory-ref="entityManagerFactory" />

	<!-- Jpa 事务配置 -->
	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManagerFactory" />
	</bean>
   <!-- jdbc注入 -->  
    <bean id="jdbcTemplate"  
        class="org.springframework.jdbc.core.JdbcTemplate">  
        <property name="dataSource">  
            <ref bean="dataSource" />  
        </property>  
    </bean>  
    <bean id="jdbcQueryDao" class="com.dnake.cloudparking.dao.JdbcQueryDao"/>
	<!-- 配置事务通知属性 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<!-- 定义事务传播属性 -->
		<tx:attributes>
			<tx:method name="get*" read-only="true" />
			<tx:method name="query*" read-only="true" />
			<tx:method name="find*" read-only="true" />
			<tx:method name="list*" read-only="true" />
			<tx:method name="page*" read-only="true" />
			<tx:method name="read*" read-only="true" />
			<tx:method name="save*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			<tx:method name="update*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			<tx:method name="delete*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			<tx:method name="insert*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			<tx:method name="add*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			<tx:method name="start*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			<tx:method name="deal*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			<tx:method name="dual*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			<tx:method name="commit*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
<!--			<tx:method name="*" read-only="true" />-->
			<tx:method name="*" read-only="false" rollback-for="Exception"
				propagation="REQUIRED" />
			 
		</tx:attributes>
	</tx:advice>

	<!-- 配置事务切面 -->
	<aop:config>
		<!-- 定义切入点:定义的包及其子包中定义的任意方法的执行 -->
		<aop:pointcut id="serviceOperation"
			expression="execution(* com.dnake.cloudparking.service..*.*(..))" />
		<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />
	</aop:config>

  <!-- 更新非合作停车场剩余车位 -->
    	<bean id="parkingQuartzService" class="com.dnake.cloudparking.service.ParkingQuartzService"></bean>

      <bean id="parkingQuartzBatch"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
          <property name="targetObject" ref="parkingQuartzService" />
          <property name="targetMethod" value="updateRemainParkNum" />
          <property name="concurrent" value="false" /><!-- 指定最终封装出的任务是否有状态 -->
      </bean>
    <!--     扫描的频率每隔5分钟执行一次 以隔repeatInterval时间的方式进行提交 -->
      <bean id="parkingQuartzTaskBatch" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
          <property name="startDelay" value="10000"/><!-- 服务启动10秒后执行 -->
          <property name="repeatInterval" value="900000"/> <!-- 每隔15分钟执行一次 -->
         <property name="jobDetail" ref="parkingQuartzBatch"/>
      </bean>
   <!--    启动Bean -->

  
    <!--Quartz-->
    <bean id="schedulerFactory" lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="parkingQuartzTaskBatch" />
            </list>
        </property>
    </bean>


	<!-- JSR303 Validator定义 -->
	<bean id="validator"
		class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
		

	
<!-- production环境 -->
	 <beans profile="production"> 
		<context:property-placeholder
			ignore-unresolvable="true" location="classpath:**/application.properties" />

		<!-- 数据源配置, 使用Tomcat JDBC连接池 -->
		<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
			destroy-method="close">
			<!-- Connection Info -->
			<property name="driverClassName" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />

			<!-- Connection Pooling Info -->
			<property name="maxActive" value="${jdbc.pool.maxActive}" />
			<property name="maxIdle" value="${jdbc.pool.maxIdle}" />
			<property name="defaultAutoCommit" value="false" />
			<property name="timeBetweenEvictionRunsMillis" value="30000" />
			<property name="minEvictableIdleTimeMillis" value="60000" />
			<property name="testWhileIdle" value="${jdbc.pool.testWhileIdle}" />
			<property name="testOnBorrow" value="${jdbc.pool.testOnBorrow}" />
			<property name="validationInterval" value="${jbdc.pool.validationInterval}" />
			<property name="validationQuery" value="${jdbc.pool.validationQuery}" />
			<property name="maxWait" value="${jdbc.pool.maxWait}" />
			<property name="removeAbandonedTimeout" value="${jdbc.pool.removeAbandonedTimeout}" />
		</bean>

		<!-- 数据源配置,使用应用服务器的数据库连接池 -->
		<!--
			<jee:jndi-lookup id="dataSource"
			jndi-name="java:comp/env/jdbc/ExampleDB" />
		-->
	 </beans>  
</beans>
luoye_rcy 2017-01-05
  • 打赏
  • 举报
回复
引用 4 楼 m2200 的回复:
applicationContext-shiro.xml里配置的securityManager有问题
<!-- Shiro's main business-tier object for web-enabled applications -->
	<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
		<property name="realm" ref="shiroDbRealm" />
		<property name="cacheManager" ref="shiroEhcacheManager" />
	</bean>

	<!-- 項目自定义的Realm, 所有accountService依赖的dao都需要用depends-on声明 -->
	<bean id="shiroDbRealm" class="com.dnake.cloudparking.auth.AuthRealm">
		<property name="userService" ref="userService" />
	</bean>
	<!--

		<bean id="sessionFilter"
		class="com.dnake.cloudparking.auth.SessionFilter"> </bean>
	-->
	<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
		<property name="securityManager" ref="securityManager" />
		<property name="loginUrl" value="/login" />
		<property name="successUrl" value="/index" />
		<!--
			<property name="filters"> <map> <entry key="sessionFilter"
			value-ref="sessionFilter"/> </map> </property>
		-->
感觉问题可能出在哪。有什么思路没
爱睡觉的阿狸 2017-01-05
  • 打赏
  • 举报
回复
applicationContext-shiro.xml里配置的securityManager有问题
  • 打赏
  • 举报
回复
引用 2 楼 luoye_rcy 的回复:
[quote=引用 1 楼 qnmdcsdn 的回复:] applicationContext.xml
什么意思[/quote] 把这个文件贴出来看看,报错最后显示看起来像是数据库连接这里有问题 nested exception is java.lang.RuntimeException: Could not get database url
luoye_rcy 2017-01-05
  • 打赏
  • 举报
回复
引用 1 楼 qnmdcsdn 的回复:
applicationContext.xml
什么意思
  • 打赏
  • 举报
回复
applicationContext.xml

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧