我是servlets和Velocity模板的新手,我试图将我的.vm模板链接到.css文件。 .vm文件和css文件位于Tomcat的ROOT目录中。文件本身显示正常,但CSS不起作用。从Velocity模板链接到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>
我需要相对的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
的请求应构成一个路径?