我知道getContextPath()得到当前应用的根目录的,我的项目中也用到了,而且几乎每个跳转都用这个,但是我有个疑问,"/"不是也是得到根目录吗,为什么不用"/"代替getContextPath()呢? 比如<a href="/index.jsp">, 这样不是更方便? 难道getContextPath有什么好处吗?
解决方案 »
- jsp怎么遍历2个list?
- JProfiler6.0+Tomcat6.0 配置老出错, 急急
- 求教spring管理多个sessionFactory问题
- 请问swt中包含网页的情况下如何选中系统默认浏览器
- 使用pager-taglib 标签时 出现 pageNumber 和 pageUrl 无法解析,请教各位老大,先谢了
- java页面中显示excel,但数字是以科学计数法显示
- tomcat一般加载项目的时候占用多大内存
- 大家能把session的用法发出来让我学习么
- java如何实现应用程序的监控
- 求教各位一个简单的问题
- java mail的函数为什么cannot be resolved
- 用PreparedStatement是否就可以防止SQL注入了啊?
正确的写法是<a href="xx.jsp">不写/....,如果要写/那么前边就要加上getContextPath
一个相对路径的拼接,例如www.xxx.com/xx.jsp中有连接<img src="yy.gif">那么这个图片的路径的www.xx.com/yy.gif
都是这样拼起来的..
所以getContextPath只是为了保证拼接路径的完整性..
同理:http://localhost:8080/xx/xx.jsp中有<img src="yy.gif">就是www.xxx.com/xx/yy.gif,你如果写成<img src="/yy.gif">则路径仍然变成http://localhost:8080/yy.gif...一样丢失了..这样你明白getContextPath的作用了吗??/你如果有getContextPath,则永远保证了项目名不丢失...
最重要的是,getContextPath是为了不把项目名写死...因为在部署项目的时候,你的项目名原来是xxx,可能部署上就变成了yyy.但是getContextPath也会动态的跟着变..就这些作用了..
以后我的项目中坚决不用"/"了. 谢谢ee4456 和 yucc2008