HttpServletRequest

HttpServletRequest

1、请求行

Get http://localhost:8080/day09/servlet/req1?username=zs http/1.1

getMethod(); 获得请求方式

getRequestURL();返回客户端发出请求时的完整URL。

getRequestURI(); 返回请求行中的资源名部分。

getContextPath(); 当前应用的虚拟目录 /day09_01_request

getQueryString() ; 返回请求行中的参数部分。

System.out.println(request.getMethod());
        System.out.println(request.getRequestURL());
        System.out.println(request.getRequestURI());
        System.out.println(request.getContextPath());
        System.out.println(request.getQueryString());

3、请求正文(重要)

与获取表单数据相关的方法

getParameter(name) 根据表单中name属性的名,获取value属性的值方法

getParameterValues(String name)专业为复选框取取提供的方法

getParameterNames() 得到表单提交的所有name的方法

getParameterMap 到表单提交的所有值的方法 //做框架用,非常实用

getInputStream 以字节流的方式得到所有表单数据

<body>
    <form action="/day03_request/servlet/demo01" method="post">
                    用户名:<input type="text" name="username"><p>
                    密码:<input type="password" name="pwd"><p>
                    性别:<input type="radio" name="sex" value="男" checked="checked">男
           <input type="radio" name="sex" value="女">女<p>
                   爱好:<input type="checkbox" name="hobby" value="听歌">听歌
           <input type="checkbox" name="hobby" value="睡觉">睡觉
           <input type="checkbox" name="hobby" value="看电影">看电影<p>
                   城市:<select name="city">
           <option>.....请选择.....</option>
           <option value="bj">北京</option>
           <option value="shh">上海</option>
           <option value="sz">深圳</option>
           </select><p>
           <input type="submit" value="注册">
    </form>
  </body>
String name=request.getParameter("username");
        String pwd=request.getParameter("pwd");
        String sex=request.getParameter("sex");

        String[] hobbys=request.getParameterValues("hobby");
        String city=request.getParameter("city");


        System.out.println(name);
        System.out.println(pwd);
        System.out.println(sex);

        for(int i=0;hobbys!=null&&i<hobbys.length;i++){
            System.out.print(hobbys[i]+"\t");

        }
        System.out.println();
        System.out.println(city);

与操作非表单数据相关的方法(request也是一个域对象)

* void setAttribute(String name, Object value);
* Object getAttribute(String name);
Void removeAttribute(String name);

与请求转发相关的方法

//得到请求转发或请求包含的协助对象

RequestDispatcher getRequestDispatcher(String path).forward(ServletRequest request, ServletResponse response) //转发的方法

RequestDispatcher getRequestDispatcher(String path).include(ServletRequest request, ServletResponse response) //请求包含

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("啦啦啦啦");
        request.setAttribute("name", "tom");
        //请求转发
        request.getRequestDispatcher("/servlet/demo03").forward(request, response);
//请求包含      //request.getRequestDispatcher("/servlet/demo03").include(request, response);

        System.out.println("大家好");
    }
public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("你好");
        System.out.println(request.getAttribute("name"));
    }

与请求编码相关的方法:

//解决post方式编码

request.setCharacterEncoding(“UTF-8”); //告诉服务器客户端什么编码,只能处理post请求方式

//解决get方式编码

String name = new String(name.getBytes(“iso-8859-1”),”UTF-8”);

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页