请求URI的组成
requestURI=contextPath+servletPath+pathInfo
对于
http://localhost:80/FirstServlet/servlet/path.view
request.getSchema()
返回协议,就是“http”
request.getServerName()
返回当前服务器的名字,是“localhost"
request.getServerPort()
返回当前服务器端口,就是80,
request.getRequestURI()
返回requestURI
request.getContextPath()
返回当前页面所在应用程序环境路径,就是FirstServlet
request.getServletPath()
返回定义的sevlet名。本例为servlet,对于http://localhost:80/FirstServlet/path.view
那就返回path.view,pathinfo为空
其中,contextPath可以为空,此时web.xml 的path与form表单的action属性指向同一地址
web.xml 文件中,path属性绝对路径(前面有“/”)表示相对于应用程序根目录的请求路径。后面要跟“servletPath+pathInfo
”部分
form表单绝对路径(加“/”),指相对于服务器根目录,后面跟整个 requestURI
实例:
对 http://localhost:80/FirstServlet/path.view
contextPath为/FirstServlet时
定义@WebServlet("/path.view")
那么 利用绝对路径时<form method='post' action='/FirstServlet/path.view'>
才能访问到,
若在同一目录下,也可以利用相对路径(不加“/”)<form method='post' action='path.view'>
直接访问到