我是 servlet 和 Velocity 模板的新手,我正在尝试将我的 .vm 模板链接到 .css 文件。.vm 文件和 css 文件在 Tomcat 的 ROOT 目录下。文件本身显示正常,但 css 不起作用。
以下链接不起作用:
<link rel="stylesheet" type="text/css" href="style.css"/>
也不将文件名作为属性传递:
String stylesheet = "style.css";
req.setAttribute("stylesheet", stylesheet);
然后像这样引用:
<link rel="stylesheet" type="text/css" href="$stylesheet"/>
此外,我无法在浏览器中调出 css 文件,即使它确实存在。
web.xml 包含以下内容:
<!-- register servlet -->
<servlet>
<servlet-name>testvmservlet</servlet-name>
<servlet-class>net.myapp.app.TestVMServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testvmservlet</servlet-name>
<url-pattern>/velocity.service</url-pattern>
</servlet-mapping>
<!-- mapping all .vm files to velocity servlets -->
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
我是否需要参考相对于应用程序或相对于 Velocity 的 css 文件?
我已经从以下位置调整了我的一个 servlet 映射:
<servlet-mapping>
<servlet-name>startupservlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
到:
<servlet-mapping>
<servlet-name>startupservlet</servlet-name>
<url-pattern>/foo</url-pattern>
</servlet-mapping>
现在css工作正常。但我不确定为什么这个映射会产生影响。
据我了解,它<url-pattern>/</url-pattern>
仅适用于未指定路径的情况,但是,请求style.css
应该构成路径吗?