我一直在使用Spring框架几天尝试建立一个基于this tutorial之类的项目。
不幸的是,当我使用Tomcat部署项目时,我得到一个看起来像这样的屏幕:
我不太确定要离开这里。我检查了web.xml和任何其他可能影响错误的相关.xml文件,但是我看不到错误。我将在下面发布Gallery
.find({
$or: [
{status: 'public'},
{status: 'restricted', restriction: 'cantview', canview: reqId}
]
})
.sort('-created')
.exec(function(err, galleries) {...});
和web.xml
个文件。
的web.xml
spring-config.xml
spring_config.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Campaign Spring V2</display-name>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
如果需要,我可以将项目发布到GitHub,看看是否有更大的缺陷可以在代码中找到。此外,如果需要发布项目的任何其他部分,我将更新OP以显示任何内容。谢谢!
编辑: http://localhost/也没有加载,我之前的陈述不正确。
EDIT2:以下是GitHub项目的链接。
EDIT3:再次浏览Spring教程后,这已经解决了!
答案 0 :(得分:1)
你没有很好地遵循教程。控制器映射以
开头@RequestMapping("/")
public class AppController {
第一个注释@RequestMapping("/")
对于spring计算请求使用的路径非常重要。
缺少此代码
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(dataSource());
sessionFactory.setPackagesToScan(new String[] { "com.bridge.compaignspring.model" });
sessionFactory.setHibernateProperties(hibernateProperties());
return sessionFactory;
}
没有它Spring不能自动装配依赖于sessionFactory
的属性。
答案 1 :(得分:0)
刚刚通过github项目快速检查一下,你有更多我想到的问题。
您正在使用XML配置在Spring-config.xml中使用配置创建DispatchServer,而也在类路径上具有AppInitializer
。
AppInitializer使用AppConfig创建一个Datasource bean,你的XML也创建一个Datasource bean和SessionFactory。
Tomcat将找到AppInitializer,并且正在运行它。 这意味着它尝试在创建XML中的SessionFactory之前自动装配SessionFactory。 要解决此问题,请执行以下操作:
将spring_config.xml从/ webapp / WEB-INF移动到/ resources
将以下@import行添加到AppConfig.java
@Configuration
@EnableWebMvc
@ImportResource("classpath:spring-config.xml")
@ComponentScan(basePackages = "com.bridge.campaignspring")
public class AppConfig {
现在您需要删除正在创建的2个DataSource bean中的1个。我建议删除XML中的那个,因为它使用无效的属性值。即${database.driver}
不存在。
完成这些更改后,您仍然会遇到其他问题,但您的情况比您更进一步。
答案 2 :(得分:0)
你在Web Module Path
中设置了tomcat settings
吗?