servlet之ServletRequest与ServletResponse (三)

·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
原文地址:https://www.cnblogs.com/yejiang/p/10407932.html