您的位置:首页 > 理论基础 > 计算机网络

HttpServletRequest接口

2017-02-26 15:20 253 查看
-研究javax.servlet.http.HttpServletRequest接口

       1.HttpServletRequest是一个接口,Servlet规范中重要的接口之一,

       2.继承关系

          -public interface HttpServletRequest extends ServletRequest{

            

          }

       3.HttpServletRequest接口的实现类是WEB容器负责实现的,Tomcat服务器有自己的的实现,

                     但是程序员还是只需要面向HttpServletRequest接口调用方法即可,不需要关心具体实现。

       4.HttpServletRequest这个对象中封装了哪些信息?

                        封装了Http请求协议的全部内容:

             -请求方式:

             -URI:

             -协议版本号:

             -表单提交的数据

                                  。。。。

       5.HttpServletRequest一般变量的名字叫做:request,表示请求,HttpServletRequest代表一次请求,

                  一次请求对应一个Request对象,100个请求对应100个request对象,所以request对象的声明周期是短暂的。

       6.HttpServletRequest接口中常用的方法:
           String getParameter(String name)//通过key获取value这个一维数组中的首元素

           String[] getParameterValues(String name)//通过Map集合的Key获取Value

           Map getParameterMap();//获取这个Map集合

           Enumeration getParameterNames()//获取整个Map集合的所有Key

         

           //表单是这样的格式提交的,POST请求在请求体中提交,数据格式:

           //username=admin&password=123&sex=m&interest=sport&interest=music&grade=dz&introduce=ok

           -表单提交的数据,会自动被封装到request对象中,request对象中有Map集合存储这些数据:

           map集合的key是name,value是一个字符串类型的一维数组

           /*

             Map<String,String[]>

             key             value

             --------------------------

             username        {"admin"}

             password        {"123"}

             sex             {"m"}

             interest        {"sport","music"}

             grade           {"dz"}

             introduce       {"ok"}
           */

方法使用案例代码如下:

      public class SaveUserServlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        //获取用户信息,表单提交的,这些数据被自动封装到request对象中了

        //从request中获取这些信息

        String username=request.getParameter("username");

        String password=request.getParameter("password");

        String sex=request.getParameter("sex");

        String interest=request.getParameter("interest");

        String grade=request.getParameter("grade");

        String introduce=request.getParameter("introduce");

        System.out.println(username);

        System.out.println(password);

        System.out.println(sex);

        System.out.println(interest);

        System.out.println(grade);

        System.out.println(introduce);

        //获取所有兴趣对象

        //这个方法适合获取chckbox中的数据

        String [] interests=request.getParameterValues("interest");

        for(String in:interests){

            System.out.println(in);

        }

        //获取整个参数Map集合

        Map<String,String[]> parameterMap=request.getParameterMap();

        Set<String> names=parameterMap.keySet();

        for(String name:names){

            String [] value=parameterMap.get(name);

            System.out.println(name+"="+value);

        }

        //获取集合Map中的所有key

         Enumeration<String> keys=request.getParameterNames();

        while(keys.hasMoreElements()){

             String key= keys.nextElement();

             System.out.println(key);

        }

    }

 
}

web.xml文件配置如下:

 <welcome-file-list>

       <welcome-file>register.html</welcome-file>

    </welcome-file-list>

    <servlet>

       <servlet-name>save</servlet-name>

       <servlet-class>com.qq1009108034.SaveUserServlet</servlet-class>

    </servlet>

    <servlet-mapping>

       <servlet-name>save</servlet-name>

       <url-pattern>/user/save</url-pattern>

    </servlet-mapping>

前台代码如下:

<html>

<head>

  <title>注册</title>

</head>

<body>

  <form action="/prj-servlet-12/user/save" method="post">

    用户名:

    <input type="text" name="username"/>

    <br>

    密码:

    <input type="password" name="password"/>

    <br>

    性别:

          男<input type="radio"name="sex" value="m"/>

         女<input type="radio"name="sex" value="f"/>

     <br>

    爱好:

    <input type="checkbox" name="interest" value="sport"/>运动

    <input type="checkbox" name="interest" value="music"/>音乐

    <input type="checkbox" name="interest" value="dance"/> 跳舞

    <input type="checkbox"name="interest"value="study"/>学习

    <input type="checkbox" name="interest" value="read"/> 阅读

    <br>

    学历:

    <select name="grade">

       <option value="gz">高中</option>

        <option value="dz">大专</option>

         <option value="db">本科</option>

    </select>

    <br>

    简介:

    <textarea rows="10" cols="60" name="introduce"> </textarea>

    <br>

    <input type="submit" value="注册"/>

    <input type="reset" value="重置"/>

     </form>

</body>

</html>

     

          

          

          

         
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: