之前回答过类似的问题,转过来吧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的配置是带有项目路径的
所以访问的时候除了要有端口外,还得带上项目路径,比如: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,这样如果不在同一个域名那只能通过绝对路径访问了。
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?
- 完 类似于visual css那种左边写css,右边预览的文本编辑器有哪些?
- 等 使用freemarker之后jsp页面的js和css为什么都失去了效果?
- 完 有没有好看一点的下拉列表框的css样式?急急急....
- 完 apache shiro用户登录成功后jsp页面的css样式为什么显示异常?
- 等 为什么IE加入兼容模式后,前端的css排版全部错位了?
- 完 easyui js脚本及样式css为什么引入失败?
- 等 想问下手机上做两行五列的导航,怎么解决这小屏幕手机显示字不全的问题
- 等 怎么样把整个网站变成黑白色?
- 等 jsp页面按钮 与 表格中的input框框如何对齐???
- 等 如何使用纯css+js开发出tabs标签特效?
- 完 分享下好的学习前端技术的网站吧,前端的css js h5 sass nodejs grunt gulp coffeejs等都可以