我需要将我的stylesheet
与名称'stylesheet.css'链接到我的servlet。
我已经尝试使用谷歌搜索解决方案,但没有解决我的问题。
我的index.html的目录路径如下所示:
/usr/share/tomcat/webapps/ROOT/WEB-INF/classes/index.html
我的样式表在这里:
/usr/share/tomcat/webapps/ROOT/stylesheet.css
在我的index.html中,我有以下行来获取样式表:
out.println("<LINK REL='StyleSheet' HREF='/usr/share/tomcat/webapps/ROOT/stylesheet.css' TYPE='text/css'>");
我的错误在哪里?
答案 0 :(得分:1)
href
属性中提供的“网址”实际上是服务器文件系统上stylesheet.css
的路径 - 但浏览器通常无法访问此FS,除了在开发之外 - 可能在与servlet引擎不同的机器上运行。
这意味着您必须提供一个URL,浏览器可以使用该URL来联系服务器(通常通过HTTP(S)协议)并请求资源。在此特定情况下 href='/stylesheet.css'
应该足够了,因为您使用ROOT webapp,因此上下文为空(或/
)。默认情况下,我会使用
out.println("<LINK REL='StyleSheet' HREF='" + request.getContextPath() + "/stylesheet.css' TYPE='text/css'>");
警告强>
尽量避免在servlet中生成HTML输出。虽然它从一开始就很有用,只是为了理解工作原理,将MVC或类似架构用于实际项目,并使用JSP来定义视图(或者像Freemarker这样的模板引擎)。
答案 1 :(得分:1)
找到解决方案,只需将其更改为sort
同时仍保持与上述相同的目录路径