自己写Java Web遇到的坑(1)——JSP中的外部引用相对地址出错
2016-10-27 13:52
447 查看
在写JSP之前,一个网页需要表现成什么样,一般来说是要先写成html看一下的,我也是这么做的。然而,这个时候,第一个坑可能出现了。
basePath变量是新建一个JSP时,模板中预先设置的一个String的变量。
我们可以看到,basePath是通过request设置的一个变量,代表了当前网站的根目录的地址(像这样的:http://localhost:8080/test/)。
问题:
在html中,外部引用的CSS和JS文件的地址全都是基于html文件的位置而写的相对地址(像这样:../css/style.css)。当我们把html原封不动搬到JSP上时,常会出现外部的各种引用地址不对的问题。原理
其中很可能的一个原因,就是这个相对地址,相对的对象不再是前身是html的JSP文件了,而是根据JSP文件中basePath变量而定的。basePath变量是新建一个JSP时,模板中预先设置的一个String的变量。
String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
我们可以看到,basePath是通过request设置的一个变量,代表了当前网站的根目录的地址(像这样的:http://localhost:8080/test/)。
解决
所以我们需要重新设置相对地址,改为basePath为相对地址的参考位置(原点),按此路径引用外部文件。相关文章推荐
- 关于jsp页面中相对地址引用不正确
- jsp中js,css文件相对地址的引用
- JSP执行外部命令(引用)
- jQuery中getScript方法引入外部js文件,乱码处理(自己遇到的问题)
- jsp引用外部js,出现乱码
- 不用外部JAR包,自己实现JSP文件上传!
- 不用外部JAR包,自己实现JSP文件上传!
- jsp+tomcat以相对地址读取文件
- css文件内引用外部资源文件的相对路径
- tomcat中的jsp网页如果引用自己编写的类
- J2EE中JSP页面引用外部资源时的路径问题
- yii 链接地址的格式以及如何引用外部js,css,img
- JSP页面无法引用外部css,图片的问题
- ABAP 引用外部WebService时出错: SRT: Unsupported xstream found: (“HTTP Code 200 : OK”)
- 自己测试bolt程序时遇到error LNK2019: 无法解析的外部符号解决方法。
- J2EE中JSP页面引用外部资源时的路径问题
- vs2005连接时出错拉 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
- struts2下,jsp视图页面中CSS和javascript引用相对路径和绝对路径问题。
- 新建了WebService.asmx项,但添加引用时提示“从此地址下载元地出错,请确认办您输入了有效地。”请前辈指导,应该如何解决?小弟先感谢了!
- jQuery引用google地址外部文件(jquery 1.2.6至jquery1.7.2)