java web访问路径_对Java Web项目中路径的理解

第一个:文件分隔符

坑比Window。window分隔符 用\;unix采用/。于是用File.separator来跨平台

请注意:这是文件路径。在File f = new File(“c:\\hah.txt”)是好使的

当在后台拼接js代码

代码大体如下:

String path = "\haha\test";

js+="%5C%22%22+path+%22%5C%22"

采用window的分隔符,\ 传到前台发现分隔符不见了

但是/是可以的

第二个:Java web项目中 服务器的路径解析

先说一下,服务器路径。一般拿tomcat作为中间件

而web程序一般部署到 (前边是tomcat路径,最后portal就是引用程序部署文件夹)

C:\LEADERHOO\apache-tomcat-6.0.35\apache-tomcat-6.0.35 -IPORTAL\wtpwebapps\PORTAL

此路径下一般是 :

第一部分:对应eclipse里边src/main/webapp

第二部分:eclipse看不到的(隐藏的)META-INF

第三部分(可能会有的):有一些资源文件比如图片等,上传到服务器可以传到该目录下

此路径下可以通过web项目的url访问

比如在该目录下,我建了一个a.txt,我可以直接用http://boc.dtsz.com:8086/sso/a.txt访问到

或者建目录访问 http://boc.dtsz.com:8086/sso/testfolder/a.txt

备注 此处存在一个非常坑爹的设定

中文目录居然不好使

http://boc.dtsz.com:8086/sso/testfolder/测试中文目录/a.txt

第三:图片的路径

页面上图片路径(\或者是/或者是\\\\ 根据具体例子测试)

相对路径 ..\newHaha

绝对路径 c:\test\haha

相对路径一定注意前边 是否需要 ..\ 也就是是否能准确定位到文件

第四:前台页面采用相对路径还是绝对路径

String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>就可以使用绝对路径

第五:Java web 相对路径以/开头和不已/开头的区别

通俗的讲,有/会从跟目录开始算,没有会从当前目录开始算

比如  设当前项目根路径是 “localhost:8081/sso”则此路径会定位到 localhost:8081/sso/demo.js

第六:页面引用WEB-INF下的内容

web-inf下,应用服务器把它指为禁访目录,即直接在浏览器里是不能访问到的,只能通过servlet访问 所以:

web-inf下有a.jsp则可以用request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);进行派遣访问

但是web-inf下有a.htm,则用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);就不能访问。

第七: 这样写可以用的原因

请注意:

此处和访问路径区分开,这不是访问路径,这是告诉jsp翻译的时候把这个地方的文件加进来

涉及的细节点就是 jsp会翻译成servlet

jsp页面不能原封不动地被传送给浏览器,所有的jsp元素都必须首先由服务器进行处理。这是通过将jsp页面转达化成servlet,然后执行这个servlet来完成的

jsp容器:

jsp容器通常以servlet的形式来实现,这个servlet经过配置,可以处理对jsp页面的所有请求

jsp的翻译:

Jsp容器负责将jsp页面转化成servlet(称为jsp页面实现类?JSP Page implementation class),并编译这个servlet

所以:用 会在翻译的时候把文件加进来而不是访问该文件

再次加深一下,为什么翻译的时候可以通过/WEB-INF/找到文件

参照整理2,WEB-INF 在tomcat服务器的程序包的可以直接访问的那一级别

这个uri是可以定位一个文件,只不过tomcat不允许直接通过浏览器访问而已

参考资料:http://blog.csdn.net/panyongcsd/article/details/38235713

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值