javaee 项目都是部署在 Servlet 容器服务器里,典型的如 Tomcat 和 Jetty,这类项目有个特点,他们给你的访问地址都是带 app 路径的,比如
http://localhost/webapp/xxx/yyy/zzz
要死就死在这个 app 路径(上下文路径)上,搞的我的模板文件( jsp 或 html 或者别的什么)引用资源的时候,路径完全没法写,你写绝对路径 /assert/a.jpg。结果指向的是 http://localhost/assert/a.jpg,没有 webapp 路径,访问不到,你要搞个相对路径吧:assert/a.jpg,遇到什么 forword,还有 springmvc 之类的地址映射会不知道飞到哪里去。
我在网上找了半天,也就找到了一个针对 jsp 的方案,改成${pageContext.request.contextPath}/assets/a.jpg,但是问题是这${pageContext.request.contextPath}就只有模板是 jsp 的时候才认啊,换成 html 就不生效了了。
所以 javaee 项目的模板引用资源文件路径的最佳实践到底是啥?
http://localhost/webapp/xxx/yyy/zzz
要死就死在这个 app 路径(上下文路径)上,搞的我的模板文件( jsp 或 html 或者别的什么)引用资源的时候,路径完全没法写,你写绝对路径 /assert/a.jpg。结果指向的是 http://localhost/assert/a.jpg,没有 webapp 路径,访问不到,你要搞个相对路径吧:assert/a.jpg,遇到什么 forword,还有 springmvc 之类的地址映射会不知道飞到哪里去。
我在网上找了半天,也就找到了一个针对 jsp 的方案,改成${pageContext.request.contextPath}/assets/a.jpg,但是问题是这${pageContext.request.contextPath}就只有模板是 jsp 的时候才认啊,换成 html 就不生效了了。
所以 javaee 项目的模板引用资源文件路径的最佳实践到底是啥?