zoukankan      html  css  js  c++  java
  • request(获取请求信息、用户提交的数据)

    request对象封装的是请求的数据,由服务器创建,作为实参传递给Servlet的方法,一个请求对应一个request对象,request对象可以获得请求数据。

    1、获取请求行信息

    (1)get提交

     <body bgcolor="#f5f5dc">
      <center>
        <h3>登录</h3>
        <form action="http://localhost:8080/MyServlet_war_exploded/abc" method="get">
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户名:<input type="text" name="myname" size="12"><br>&nbsp;&nbsp;码:<input type="password" name="mypassword" size="6" ><br><br>
          <input type="reset" value="取消">
          <input type="submit" value="登录">
        </form>
    
      </center>
      </body>
     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            ServletOutputStream out=response.getOutputStream();
            String method= request.getMethod();
            System.out.println(method);
            String URI=request.getRequestURI();
            System.out.println(URI);
            StringBuffer URL=request.getRequestURL();
            System.out.println(URL);
            String path=request.getContextPath();
            System.out.println(path);
        }

     运行结果:

    getMethod():获取提交方式
    getRequestURI():URI
    getRequestURL():URL
    getContextPath():项目名称
    (2)post提交

     

     

     2、获取请求头信息

    (1)获取请求头的一条信息:

        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
            String header=request.getHeader("Host");
            System.out.println(header);
        }

     (2)获取请求头的所有信息:

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
            Enumeration<String> headerNames=request.getHeaderNames();//获取键的名字
            while(headerNames.hasMoreElements()){
                String headerName= headerNames.nextElement();
                String headerValue=request.getHeader(headerName);
                System.out.println(headerName+":"+headerValue);
            }
        }

     

     3、获取用户信息

    (1)get提交:

    <center>
          <h3>登录</h3>
          <form action="http://localhost:8080/MyServlet_war_exploded/abc" method="get">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户名:<input type="text" name="userName" size="12"><br>&nbsp;&nbsp;码:<input type="password" name="password" size="6" ><br><br>
              <input type="reset" value="取消">
              <input type="submit" value="登录">
          </form>
    
      </center>
       protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
            String name=request.getParameter("userName");
            String password=request.getParameter("password");
            System.out.println(name+":"+password);
        }

    (2)post提交:

     post提交与get提交的运行结果相同。

    4、对用户提交的数据的同键不同值的处理

    (1)获取提交数据的值:

     <form action="http://localhost:8080/MyServlet_war_exploded/abc" method="post">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book" value="xiangzi">《骆驼祥子》<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book" value="xiyou">《西游记》<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book" value="shuihu">《水浒传》<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book" value="hongloumemg">《红楼梦》<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book" value="sanguo">《三国演义》<br>
              <input type="reset" value="取消">
              <input type="submit" value="确定">
          </form>

     

      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String[] books= request.getParameterValues("book");
        if(books!=null){
            for(String shu:books){
                System.out.println(shu);
            }
        }
        }

    (2)获取名字:

    <center>
          <h3>您喜欢的书有哪些:</h3>
          <form action="http://localhost:8080/MyServlet_war_exploded/abc" method="post">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book1" value="xiangzi">《骆驼祥子》<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book2" value="xiyou">《西游记》<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book3" value="shuihu">《水浒传》<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book4" value="hongloumemg">《红楼梦》<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="checkbox" name="book5" value="sanguo">《三国演义》<br>
              <input type="reset" value="取消">
              <input type="submit" value="确定">
          </form>
      </center>
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     Enumeration<String> names=request.getParameterNames();
     while(names.hasMoreElements()){
         System.out.println(names.nextElement());
     }
        }

    (3) 获取键和值:

    public class MyServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            Map<String,String[]> map=request.getParameterMap();
            for(Map.Entry<String,String[]> entry:map.entrySet()){
                System.out.println(entry.getKey());
                for(String str:entry.getValue()){
                    System.out.println(str);
                }
            }
     }

     

  • 相关阅读:
    CentOS ping www.baidu.com 报错 name or service not know
    python2 当中 遇到 UnicodeDecodeError UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 37: ordinal not in range(128)
    shell基本语法
    android---笔记 AppContext extends Application
    android笔记--加载框
    android笔记--与服务器交互更改简历状态
    android笔记---AndroidManifest.xml
    android笔记-----消息提示
    ios笔记一 追加数据
    android笔记一 控件属性
  • 原文地址:https://www.cnblogs.com/zhai1997/p/11489967.html
Copyright © 2011-2022 走看看