HttpServletRequest有丰富的方法
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
HttpServletRequest req = (HttpServletRequest) request;
System.out.println(req.getContextPath());
System.out.println("getMethod:"+req.getMethod());
System.out.println("getQueryString:"+req.getQueryString());
System.out.println("getRequestURI:"+req.getRequestURI());
System.out.println("getRequestURL:"+req.getRequestURL());
System.out.println("getServletPath:"+req.getServletPath());
System.out.println("getServerPort:"+req.getServerPort());
}
因为HttpServletRequest是ServletRequest子接口,所以可以进行类型转换,转换后方法变得丰富多了
输入网址访问:
http://localhost:8080/test/servlet?type=text
以上代码的结果是:
/test //说明那个对象调用的getContextPath得到的都一样,是/应用名
getMethod:GET
getQueryString:type=text //返回URL中?后面的数据,没有就返回null。
(注意:表单一般都是post方法,如果是get方法,表单数据就会显示在URL中作为参数)
getRequestURI:/test/servlet //这个好,返回了应用下面的绝对路径,不用关注是哪个服务器
getRequestURL:http://localhost:8080/test/servlet
getServletPath:/servlet //这个就是web.xml配置文件中url-pattern的值
getServerPort:8080