在web工程中,只要涉及到写地址,建议最好以一个斜线(/)开头,然后再去思考,这个斜线代表什么:
如果地址是给服务器用的,那么斜线就代表web应用的那个目录;如果地址是给浏览器用的,那么斜线就代表web应用所在的那个webapps目录。
1.用ServletContext获取资源的时候要写地址
this.getServletContext().getRealPath("");//这句话是服务器执行的,所以这个斜线是给服务器用的,因此斜线代表的是web应用的那个目录
2.重定向到一个资源的时候要写地址
response.sendRedirect("");//这句话是告诉浏览器重定向这个地址去,所以是给浏览器用的,因此斜线代表的是webapps目录
3.<img src="path">标签里面要写地址
这句话是浏览器执行的,,所以是给浏览器用的,因此斜线代表的是webapps目录
4.<a href="">...</a>超链接要写地址
这句话是浏览器执行的,,所以是给浏览器用的,因此斜线代表的是webapps目录
5.form表单中的action要写地址
这句话是浏览器执行的,,所以是给浏览器用的,因此斜线代表的是webapps目录
5.Cookie中设置有效路径(cookie.setPath("/"))
这句话是浏览器执行的,,所以是给浏览器用的,因此斜线代表的是webapps目录