- 如何在Servlet中获取请求信息:
- Servlet的Service()方法用于应答请求,因为每次请求都会去调用service()方法。
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException
ServletRequest:封装了请求信息,可以从中获取到任何的请求信息。
ServletResponse:封装了响应信息,如果想给用户什么响应,具体可以使用该接口的方法实现。
这两个接口的实现类都是服务器给予实现的,并在服务器调用service方法时传入。
ServletRequest
1)获取请求参数
String getParameter(String name):根据请求参数名字,返回参数值。
String[] getParameterValues(String name):根据请求参数的名字,返回请求参数对应的字符串数组
Enumeration getParameterNames():返回参数名对应的Enumeration对象,类似于ServletConfig(ServletContext)的getInitParameterNames()方法。
Map getParameterMap():返回请求参数的键值对,key:参数名,value:参数值(String[]类型)。
- 获取请求的URI:
HttpServletRequest httpServletRequest = (HttpServletRequest)request;
String requetURI = httpServletRequest.getRequestURI();
3)获取请求方式
String method = httpServletRequest.getMethod();
4)获取请求的查询字符串
String queryString = httpServletRequest.getQueryString();
5)获取请求的Servlet的映射路径
String servletPath = httpServletRequest.getServletPath();
HttpServletRequest:是ServletRequest的子接口,针对HTTP请求所定义。
ServletResponse
- getWriter():返回PrinterWriter对象,调用对象的print()方法,将把print()方法中的参数直接打印到浏览器上。
- 设置响应的内容类型
response.setContentType("application/msword");
3)void sendRedirect(String location):请求的重定向。(此方法为HttpServletResponse中定义)