java - 使用 STS 模板项目创建新的 Spring MVC 项目时出现奇怪的行为,URL 不正确,我必须重建项目

标签 java eclipse spring spring-mvc sts-springsourcetoolsuite

我对 Spring MVC 项目的正确创建有疑问。

当我运行导入的项目(例如,可从 STS 仪表板下载 Spring MVC Showcase 示例)时,在浏览器 URL 栏中,该项目的 URL 如下:

http://localhost:8080/project-name/ 

(例如,Web MVC Showcase 示例的项目名称为:“spring-mvc-showcase”,并具有以下 URL:

http://localhost:8080/spring-mvc-showcase/ )

现在,我的疑问与在 STS\Eclipse 中使用 Spring 模板创建新的 Spring MVC 项目有关。

我在STS中做了以下操作:

文件 --> 新建 --> 项目 在我看来,这是一个向导,我可以在其中选择项目类型。

所以我选择了Spring模板项目,现在我看到了另一个向导窗口,我可以在其中选择Spring项目的特定类型,并且我选择了“Spring MVC项目”

好的,现在我看到另一个向导窗口,我必须在其中进行设置:

项目名称,我插入:my-spring-project

顶级包,我插入了:org.mycompany.foo

好的,现在我在服务器上运行我的项目,这不会运行,并且在浏览器的 URL 栏中我没有运行

http://localhost:8080/my-spring-project/ (as I would expect) 

但我有:

http://localhost:8080/foo/

在堆栈跟踪中,我有以下错误消息:

WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/foo/] in DispatcherServlet with name 'appServlet'

然后,如果我清理了我的项目,STS 会重建该项目,如果我尝试再次运行它,项目运行良好并且 URL 地址仍然保留:

http://localhost:8080/foo/

我认为这是一种奇怪的行为,我不知道其原因是什么......

所以:

1) 为什么 URL 不是

http://localhost:8080/my-spring-project/ 

2)为什么我必须清理并重建我的项目才能运行它?

3)我在创建标准 Spring MVC 项目时犯了一些错误?

最佳答案

Eclipse > 属性 > Web 项目设置:设置为上下文根 my-spring-project 然后像在 Eclipse 中正常运行一样运行该项目。它应该以 http://localhost:8080/my-spring-project/ 开头。还可以像展示项目那样进行映射:<mvc:view-controller path="/" view-name="home"/>

关于java - 使用 STS 模板项目创建新的 Spring MVC 项目时出现奇怪的行为,URL 不正确,我必须重建项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13682656/

相关文章:

java - 如何为 Spring 的 @PropertySource 注解传递命令行参数?

css - 重新部署 webapp 缩小后出现 404 错误(缓存)

java - jackson AfterburnerModule 在日志中发出警告

android - 在android中创建的文件的奇怪名称

eclipse - 在 eclipse 中使用 SVNAnt 构建失败(无法从资源加载定义)

java - 创建名称为 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration' 的 bean 时出错 :

java - 对 Tomcat 日志文件的惊人攻击

java - 如何修复在 Jboss 域模式下部署应用程序对数据库的重复插入?

java - 仅从命令行获取系统属性列表

eclipse - 运行 JUnit 插件测试时防止启动 eclipse GUI