servlet跳转进入jsp中,C标签<c:url>不能生效之谜

这个问题其实跟项目搭建有关,但是由于第一次遇到这个问题,网络上也比较少看到这个问题,所以记录下来分享下。

问题出现的项目为struts+jdbc项目,后台数据方面,电脑端页面由action处理,手机端页面由servlet处理,页面中所有的js,css引用使用的是<c:url>标签处理。

本项目运行已经有好几年的时间,调整过几个服务器后,在centos上使用nginx+tomcat,由于流量一般,所以相当稳定。由于近期系统定制上线需要,在新的tomcat服务器上搭建了一个几乎一模一样的项目。服务器跑起来后,神奇的事情就这么发生了,jsp页面中所有的文件引用正常,到了servlet中,跳转后的页面所有<c:url>失效,没有指向正确的路劲,全部丢失项目所在的路径。

本来以为是nginx,或者是tomcat出现问题了,结果同一个tomcat下另外一个项目运行是正常的。实践否定了自己的判断可是相当郁闷的事,后来思考了一番,项目几乎一模一样的情况,有可能出现问题的无非是tomcat那几个配置文件,毕竟那一块改动的东西不小。最后问题出现在tomcat最基本的配置上server.xml:

修改前的配置:

<Context docBase="/site/xxx/project" path="/" />

修改后的配置:

<Context docBase="/site/xxx/project" path="" />

问题便是这个斜杠出现的问题,去掉之后一切正常,后面有时间会去探寻下这个斜杠对jsp页面直接访问和servlet跳转的影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值