Web applications STS3.1中的Spring MVC项目

Web applications STS3.1中的Spring MVC项目,web-applications,spring-mvc,Web Applications,Spring Mvc,需要Spring开发人员的帮助 我在windows上使用STS3.1。通过选择new>SpringTemplateProject>SpringMVC项目名为“mymvc”,创建了一个新的MVC项目,并在vFabricTC服务器下运行。当我将浏览器指向http://localhost:8080/mymvc/,它给出404错误,但在我使用urlhttp://localhost:8080/app/ 服务器上只有一个应用程序,项目中没有/app的url映射 我错过什么了吗 请导游。谢谢 编辑 以下是we

需要Spring开发人员的帮助

我在windows上使用STS3.1。通过选择new>SpringTemplateProject>SpringMVC项目名为“mymvc”,创建了一个新的MVC项目,并在vFabricTC服务器下运行。当我将浏览器指向
http://localhost:8080/mymvc/
,它给出404错误,但在我使用url
http://localhost:8080/app/

服务器上只有一个应用程序,项目中没有
/app
的url映射

我错过什么了吗

请导游。谢谢

编辑

以下是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>

</web-app>

上下文配置位置
/WEB-INF/spring/root-context.xml
org.springframework.web.context.ContextLoaderListener
appServlet
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/spring/appServlet/servlet-context.xml
1.
appServlet
/

还有一件事:我将我的软件包命名为com.mycompany.app,并启动了STS
http://localhost:8080/app/
而不是
http://localhost:8080/mymvc/
当我运行该项目时。

我认为该应用程序是您程序包名称的最后一部分。例如,我认为您有以下情况:您的项目名为myproject,其中有一个名为:org.blablabla.app

默认情况下,STS使用包名称的最后一部分来创建项目的URL,事实上,您有URL:
http://localhost:8080/app/
工作正常

如果您希望您的URL类似于
http://local_host:8080/projectname
您必须更改项目的上下文根目录,使用STS\Eclipse您必须执行以下操作:


右键单击您的项目名称(在包资源管理器中)--->Web项目设置,并在上下文根字段中插入项目名称,再次部署您的项目,这就是全部内容

您有其他解决方案为您的应用程序配置tomcat服务器
例如或

你能发布你的web.xml吗?@Rigg802-编辑问题并添加web.xml。谢谢。另一个解决方案是在部署服务器后直接在服务器上更改上下文根。在这种情况下,您必须执行以下操作:右键单击服务器(在“服务器视图”选项卡中)--->单击“打开”。现在向您显示一个与服务器配置和部署的应用程序相关的可视化编辑器。搜索显示所有已部署项目的名为Modules的选项卡。选择您的项目并单击编辑按钮。现在您可以像在previuos示例中那样更改上下文根。我更喜欢第一种解决方案,我更喜欢直接在STS中使用上下文根……但这是个性化的。在这篇个人文章的最后,我解释了这一点。这篇文章是用意大利语写的,但是你可以看到这些操作的截图:我希望我能帮助你谢谢。这起作用了。此外,在使用已更改的上下文根再次运行项目之前,需要停止服务器并清理它。