url重写导致的css路径错误,图片路径错误解决

分析路径错误原因:

截图如下

   

项目正确的url应该是......./jsp/postBlog.action

因为我urlrewrite.xml中 postType 的 rule为

<from>^/jsp/postType/(.*)/(.*)\b$</from>

所以点击跳转后,postType位置多加了两级目录  "/postType" 后的 " /1" 后,

所以,css路径引用( href=" .....")只要加 . . / . . /

问题就可以解决,所以,问题知道了,改就好改了。

以我项目为例

加代码如

String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

<head>

      <base href="<%=basePath %>/jsp/post_type.jsp"/> 

</head>

这样,就把路径指定到页面了,这样的话,页面里面原先所有的路径都是基于这个路径来进行的,不用改任何资源引用的路径。

 

如果要部署到linux下,这样是不行的,这样,资源引用会出错,(windows下正常),会出现如下错误

 

一些链接的ip直接指向127.0.0.1,经测试,是由于<base href="<%=basePath %>/jsp/post_type.jsp"/> 这句配置造成的

所以要想把项目部署到linux下,需要把linux服务器对应 ip (或者域名) 写到<%=basePath %>处

如 <base href="http://iustudio.cc/jsp/post_type.jsp"/> 

这样,就正确指定路径级别到具体页面,而使得页面各种资源路径引用合法

 本工作室网站正在各种更新中,欢迎来访具体效果

 http://iustudio.cc

 

 

 

原文地址:https://www.cnblogs.com/xiaoliu66007/p/3030902.html