2024年5月3日发(作者:)

—高级软件人才实作培训专家!

request获取请求路径

t

获取请求路径方法介绍

request对象中包含的是请求信息,当我们在浏览器地址栏上输入:

localhost:8080/Example/AServlet?username=zhangsan,这段地址也会作为请求信息封装在request对象

中,request对象必然会提供相关的方法来获取这些请求信息,这些信息其实就是请求路径信息。

request对象通过以下方法来获取请求路径,如下所示:

StringgetServerName():获取服务器名,localhost;

StringgetServerPort():获取服务器端口号,8080;

StringgetContextPath():获取项目名,/Example;

StringgetServletPath():获取Servlet路径,/AServlet;

StringgetQueryString():获取参数部分,即问号后面的部分:username=zhangsan

StringgetRequestURI():获取请求URI,等于项目名+Servlet路径:/Example/AServlet

StringgetRequestURL():获取请求URL,等于不包含参数的整个请求路径:

localhost:8080/Example/AServlet。

下面通过一张图来了解request对象调用哪些方法获取请求路径,如图1-1所示:

图1-1request对象获取请求路径

t

获取请求路径练习

通过上面对request获取请求路径的方法介绍,为了更好的掌握这些方法,下面通过一个案例演示各个

方法的执行效果,如下所示:

(1)创建一个web应用,Example07,在该应用下创建一个Servlet类,PathServlet,主要代码例1-1所

示:

publicclassPathServletextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

—高级软件人才实作培训专家!

throwsServletException,IOException{

/*

*通过request获取请求路径,并通过response对象,将获得的路径写回浏览器端

**/

ter().print(eme()+"
");//获取协议

ter().print(verName()+"
");//获取服务器名称

ter().print(verPort()+"
");//获取协议端口号

ter().print(textPath()+"
");//获取工程名称

ter().print(vletPath()+"
");//获取servlet路

ter().print(ryString()+"
");//获取参数

ter().print(uestURI()+"
");//获取请求URI

ter().print(uestURL()+"
");//获取请求URL

}

}

在例1-1中,使用response对象向浏览器端响应数据,每写一个路径便换行一次,在浏览器端的页面

中换行需要使用html标签“
”。

(2)PathServlet在文件中,其访问路径的配置为:“/PathServlet”。

(3)将Example07发布到Tomcat服务器端,然后启动服务器,在浏览器地址栏上输入:

localhost:8080/Example07/PathServlet?username=zhangsan&password=123,浏览器的显示结果如图1-2

所示:

图1-2浏览器显示结果

在图1-2中,我们依次获取的是协议名称、服务器名称、端口号、工程名称、Servlet访问路径、参数、

URI及URL。在以后的开发中,我们要获取访问路径,最常用方法是uestURL()。

另外,还需要注意的是:我们在页面中使用的超链接、或者form表单,它们都有一个属性是用来表

示要访问的路径,通常都是项目名称加上资源名称,现在学习了request获取请求路径的方法,以后在超链

接和form表单中,项目名称都使用textPath()方法来代替。这样做的好处是防止以后项目名

被更改后,需要将所有的超链接和表单访问路径都进行修改。