frankcai_zju 2012-01-03 13:14
浏览 244
已采纳

问个java的contextpath和反向代理的问题

请问下大家java web项目contextpath怎么设置的?

  1. 我原来的做法:

设置css时, 原来是/<%=request.getContextPath()%>/css/styles.css

然后页面里面有链接到首页的链接,也写成/<%=request.getContextPath()%>/

本来apache使用mod_jk通过ajp连接tomcat,tomcat里面设置virtualhsot,一切正常

  1. 昨天尝试用反向代理,在apache里面加入

ProxyPass / http://localhost:800/mywebapp
ProxyPassReverse / http://localhost:800/mywebapp

发现这样首页获取,但是获取css的请求,变成http://localhost:800/mywebapp/mywebapp/css/style.css, css就获取不到了

所以页面显示就不正常了,请问下大家这个一般怎么处理的?

  1. 想到一个做法是所有的链接关系都用相对当前的路径,比如./或者../这样,

但是由于页面是模块化拆分的,header/footer等一些页面是共享的,而且所有的页面不一定是在同一级目录上,比如首页和具体页面,所以用相对页面也不方便处理,因为header在首页和子页面的位置不一样,用相对目录也不方便

谢谢

  • 写回答

7条回答 默认 最新

  • guazixing 2012-01-04 16:02
    关注

    在公共页面引用资源,当然要写成绝对路径了,绝对路径的写法是你写的是其中一种方法。还有一种就是用el表达式:
    [code="java"]
    ${pageContext.request.contextPath}/css/styles.css
    [/code]
    当然也可以用变量来替代,不过本质都是一样的。
    写成公共页面就是为了好控制,要修改的时候只要修改一个地方就ok了。。呵呵。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog