当前位置: 首页 > 知识库问答 >
问题:

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

仇睿
2023-03-14

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

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

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

(例如,Web MVC 展示示例具有项目名称:“Spring mvc 展示”,并具有以下 URL:

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

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

我在STS中执行以下操作:

文件——

所以我选择了Spring Template Project,现在出现在其他向导窗口中,我可以在其中选择Spring Project的特定类型,我选择了“Spring MVC Project”

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

项目名称和我插入:我的Spring项目

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

好了,现在我在服务器上运行我的项目,这不运行,在浏览器的地址栏里我没有

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

但我有:

http://localhost:8080/foo/

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

WARN:org . spring framework . web . servlet . page not found-在名为“appServlet”的DispatcherServlet中,未找到URI为[/foo/]的HTTP请求的映射

然后,如果我对我的项目进行项目清理,STS会重新构建项目,如果我再次尝试运行该项目,项目会运行良好,URL地址仍然保持不变:

http://localhost:8080/foo/

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

因此:

1)为什么网址不是

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

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

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

共有3个答案

辛承志
2023-03-14

我想你忘记在你的服务器上部署新项目了。

  • 1)打开“服务器”视图(Ctrl 3,键入“服务器”)
  • 2)右键单击您的服务器实例(例如tomcat 7 atlocalhost)
  • 3)选择“添加和删除…”
  • 4)从“可用”和“添加”中选择“my-sping-project”
乜建柏
2023-03-14

这是我的web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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">

<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>

<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Processes application requests -->
<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
杜哲彦
2023-03-14

日食

 类似资料:
  • 3.2.1.创建新项目 进入Eclipse,选择 File→New→Android Project 。有时菜单里可能没有Android Project这一条目(尤其是在第一次启动Eclipse的时候),这时可以选择Other找到Android Project。只要选择过一次,它就会一直显示在菜单里。 进入New Project对话框,分别进行如下设置: 填写"Projectname"。这是个Ecl

  • 3.1.1. 新版本库即是新项目 在GitHub,一个项目对应唯一的Git版本库,创建一个新的版本库就是创建一个新的项目。访问仪表板(Dashboard)页面,如图3-1,可以看到关注的版本库中已经有一个,但自己的版本库为零。在显示为零的版本库列表面板中有一个按钮“New Repository”,点击该按钮开始创建新版本库。 图3-1:版本库列表面板 新建版本库的界面如图3-2所示。 图3-2:创

  • Library 项目跟常规的 Android 项目只有小部分差异。 既然构建 Library 跟构建应用不同,那肯定用不同的插件,但是两个插件内部其实共享大部分同样的代码,且由同一个 jar 包提供:com.android.tools.build.gradle buildscript { repositories { jcenter() } dependen

  • 我正在尝试使用命令propmt中的maven模板创建maven项目。但看起来下载jar和gatting失败了。Maven版本是3.2.1。请告知为什么会发生这种情况? C: \工作区

  • 使用 @vue/cli 推荐用脚手架工具 @vue/cli 来创建一个使用 vue-loader 的项目: npm install -g @vue/cli vue create hello-vue cd hello-vue npm run serve # ready to go!

  • 点击顶部导航右上角"+"按钮,可进入创建项目页。 主要操作步骤: 选择目录:首先在本地文件浏览器中选择需要创建项目的目录,点击创建 选择模板:可选择预置脚手架或自定义脚手架 输入配置:输入项目需要的初始化信息 依赖安装:配置完成后系统会自动执行依赖安装 创建完成 San CLI UI中的文件浏览器可实现功能: 目录切换:可以通过点击路径切换,或者直接点击编辑后输入本地路径 目录收藏:对本地路径进行