SpringSource IDE不使用项目名称作为Spring MVC应用程序的根URL

lit*_*leK 7 spring spring-mvc sts-springsourcetoolsuite

当我使用SpringSource IDE创建Spring MVC模板项目时,我运行应用程序并将根URL设置为默认包名称的最后一个单词:

例如,当我创建项目时,我将默认包设置为com.sample.myapp.当我运行应用程序时,它会打开http://localhost:8080/myapp.为什么根URL不使用我的项目名称MyProject,而是?

这是一个问题,因为我必须在我的应用程序中指定所有URL,/myapp/resources/css/mycss.css但是当我导出.war并将其部署到Tomcat服务器时,Tomcat需要项目名称(它希望我使用/MyProject/resources/css/mycss.css.因此,部署时我的所有链接都被破坏了(但是当我在SpringSource IDE中本地运行tomcat时却没有...)

有没有其他人遇到这个问题?


下面的评论讨论示例:

<bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties">
    <property name="service"
        value="https://localhost:8443/MyProject/j_spring_cas_security_check" />
    <property name="sendRenew" value="false" />
</bean>
Run Code Online (Sandbox Code Playgroud)

bim*_*api 12

这取决于您运行应用程序的方式.我假设你在SpringSource IDE(STS)中选择了"Run on Server"?如果双击STS中的服务器定义,您将看到"模块"选项卡.从那里,您可以编辑"路径"并将其设置为您想要的任何内容.当您选择"在服务器上运行"时,STS必须定义上下文路径,并将其默认为默认包的最后一个元素.如果我没记错的话,默认情况下Tomcat使用zipped或爆炸.war的文件名.在任何一种情况下,你都可以超越它.

希望有所帮助.