我有一个正常运行的Spring启动应用程序。 我按照spring guide提供的说明创建了一个war文件( MyApp.war )。
我在Ubuntu桌面上安装了Tomcat 8.5.24并且运行成功。
如果我从 / opt / tomcat / webapps / 中删除现成的ROOT应用程序,然后将 MyApp.war 复制为 / opt / tomcat / webapps / ROOT.war 然后我的spring启动应用程序正常运行,静态文件由tomcat服务器成功返回浏览器。没有问题。
我的目标是tomcat开箱即用ROOT应用程序必须继续按原样运行,静态文件以 MyApp.war >中的index.html中指定的字符串 / assets 开头strong>必须成功处理。
所以,我在我的ubuntu桌面上成功卸载并重新安装了tomcat,以验证开箱即用的tomcat的ROOT应用是否正常工作。
在阅读tomcat documentation以及与context.xml相关的堆栈溢出收藏夹Q&A's后,我尝试了以下内容:
我更改了context.xml,如下所示:
$ diff /opt/tomcat/conf/context.xml /opt/tomcat/conf/context.xmlOriginal
19c19
< <Context docBase="MyApp" path="/assets" reloadable="true">
---
> <Context>
context.xml中上述更改的意图,是浏览器使用URL请求静态文件时 像bootstrap那样我希望tomcat从URL new bootstrap获取文件,这是需要进行重定向的。
完成上述更改后,我重新启动了tomcat并将 MyApp.war 复制到webapps目录。当我从Chrome开发人员工具网络标签转到网址MyAppUrl时,我可以看到index.html已正确加载,如下所示:
Request URL:http://localhost:8080/MyApp/
Request Method:GET
Status Code:200
Remote Address:[::1]:8080
Referrer Policy:no-referrer-when-downgrade
在响应标签中,我看到了index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>MyApp</title>
<link rel="stylesheet" type="text/css" href="/assets/css/bootstrap.css">
...
但是, bootstrap.css 未正确加载。这是错误,从网络选项卡清楚地说明浏览器要求bootstrap.css并得到404响应。
Request URL:http://localhost:8080/assets/css/bootstrap.css
Request Method:GET
Status Code:404
Remote Address:[::1]:8080
Referrer Policy:no-referrer-when-downgrade
如果我转到网址success bootstrap URL,我可以验证是否可以成功检索到bootstrap.css。
我的问题是: /opt/tomcat/conf/context.xml 需要对tomcat 8进行哪些更改才能从URL {{3返回 bootstrap.css 每当浏览器要求redirectedURL的静态资源时?非常感谢,
答案 0 :(得分:0)
工作代码: 使用百里香然后声明url = =
<link rel="stylesheet" type="text/css" th:href="@{/css/bootstrap.css}" />
我认为您的问题会解决