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

问个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条)

报告相同问题?

悬赏问题

  • ¥20 SQL server表计算问题
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出