SpringSource IDE不使用项目名称作为Spring MVC应用程序的根URL
问题内容:
当我使用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>
问题答案:
这取决于您如何运行应用程序。我假设您从SpringSource
IDE(STS)中选择了“在服务器上运行”?如果双击STS中的服务器定义,则将看到“模块”选项卡。在这里,您可以编辑“路径”并将其设置为所需的任何值。当选择“在服务器上运行”时,STS必须定义一个上下文路径,并将其默认设置为默认包的最后一个元素。如果我没记错的话,默认情况下,Tomcat使用压缩或展开的.war的文件名。无论哪种情况,您都可以改写。
希望能有所帮助。