·servlet的service()方法用于应答请求:每次请求都会调用service()方法
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException ServletRequest :封装了请求信息,可以获取任何的请求信息 ServletResponse :封装了相应信息,如果想给用户什么相应,可以具体使用该接口方法实现。
·ServletRequest(可以获取任何的请求信息)
1)获取请求参数
String getParameter() //获取一个,函数的参数就是input里面name的值
String[] getParameterValues //获取一组,checkbox
Enumeration getParameterNames() //获取所有的name值
Map getParameterMap() //获得键值对
@Override public void service(ServletRequest Request, ServletResponse Response) throws ServletException, IOException { //根据请求参数的名字,返回参数值。若有多个值(如checkbox),该方法只返回第一提交的值 String name1 = Request.getParameter("user"); System.out.println(name1); String name2 = Request.getParameter("1"); System.out.println(name2); String[] name3 = Request.getParameterValues("1"); for(String x: name3){ System.out.println(x); } Enumeration<String> name4 = Request.getParameterNames(); while(name4.hasMoreElements()){ String name = name4.nextElement(); String val = Request.getParameter(name); System.out.println(name+" :"+val); } System.out.println("service"); }
2)利用HttpServletRequest获取更多值:HttpServletRequest是ServletRequest的子接口,需要强转
上代码
HttpServletRequest re = (HttpServletRequest)Request; String uri = re.getRequestURI(); System.out.println(uri);
总结:getRequestURI():请求uri
getQueryString():若是GET请求方式,获取?后面的信息
getServletPath():获取servlet的映射路径·
·ServletResponse (想给用户什么相应,可使用该接口方法实现)
PrintWriter getWriter()
PrintWriter out = Response.getWriter();
out.println("objk"); //在浏览器上打印objk