a_meng_zi的gravatar头像
a_meng_zi 2016-07-31 09:49:38

java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?

java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?

CSS布局无效,找不到原因呀,路径有问题吗?

所有回答列表(1)
最代码官方的gravatar头像
最代码官方  LV168 2016年7月31日

之前回答过类似的问题,转过来吧spring MVC开发中静态页面访问路径为什么出错?

-----------------------------------------------------------------------------------------------------

你的这个提问涉及的路径问题挺多,也是有些开发者经常会遇到的问题,按我的经验给你说下。

1.java web容器中项目部署时的访问路径

一般网站部署后,访问路径是不带项目名称的,比如最代码的服务器部署目录:/data/www/zuidaima/,在tomcat的conf/server.xml中host的访问配置是:

<Host name="localhost"  appBase="webapps"
            unpackWARs="false" autoDeploy="false"
            xmlValidation="false" xmlNamespaceAware="false">
   <Context docBase="/data/www/zuidaima/" path="/">
</Host>

这样http的访问地址就是http://www.zuidaima.com/

而在eclipse jee集成tomcat版本本地开发时,eclipse的配置中path的配置是带有项目路径的

java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?

所以访问的时候除了要有端口外,还得带上项目路径,比如:http://localhost:8080/zuidaima/

建议Path设置为空,这样本地debug时,所有访问路径和线上是一致的,不会出现线上访问404的情况。

2.mvc开发中view层中访问路径的问题

比如jsp中配置静态页面的地址:

<link href="/resource/css/bootstrap.min.css" rel="stylesheet" />

则该文件在项目的本地目录则是:/data/www/zuidaima/resource/css/bootstrap.min.css,则其通过http访问是http://www.zuidaima.com/resource/css/bootstrap.min.css

其中/resource/css/bootstrap.min.css以/开头则表示是相对于项目根目录而言,则本地访问中,根目录配置是:/data/www/zuidaima/,而web网页http访问中根路径是http://www.zuidaima.com/。

但是如果出现resource/css/bootstrap.min.css的不以/开头的配置,则其访问路径是相对于当前访问目录而言的,比如在最代码首页,分享页,这样配置,所有文件都是可以访问的,因为首页当前目录就是/根目录,但是如果访问比如:http://www.zuidaima.com/user/2318804493993984.htm,这样访问就404错误,http真实访问目录是:http://www.zuidaima.com/user/resource/css/bootstrap.min.css,这样对照到服务器资源明显就是错误的路径,所以出现这样的配置:

<link href="../resource/css/bootstrap.min.css" rel="stylesheet" />

相当于http://www.zuidaima.com/user/../resource/css/bootstrap.min.css,这样和http://www.zuidaima.com/resource/css/bootstrap.min.css是一个作用,是否有点豁然贯通了?

所以建议在web开发中,尽量是用相对路径的根目录配置法,这样一目了然,http访问路径和服务器配置路径是一一对应的,当然在很多情况下,静态资源和动态请求是分开域名提供服务的,比如最代码的css是:http://static.zuidaima.com/resource/css/bootstrap.min.css,这样如果不在同一个域名那只能通过绝对路径访问了。

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友