专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

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">
           用户名:<input type="text" name="myname" size="12"><br>
      密  码:<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);
    }

109_1.png

运行结果:

109_2.png

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

109_4.png

2、获取请求头信息

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

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

109_5.png

(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);
        }
    }

109_6.png

109_7.png

3、获取用户信息

(1)get提交:

<center>
      <h3>登录</h3>
      <form action="http://localhost:8080/MyServlet_war_exploded/abc" method="get">
               用户名:<input type="text" name="userName" size="12"><br>
          密  码:<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);
    }

109_8.png

109_9.png

(2)post提交:

109_10.png

109_11.png

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

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

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

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

109_12.png

109_13.png

  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">
                   
          <input type="checkbox" name="book1" value="xiangzi">《骆驼祥子》<br>        
          <input type="checkbox" name="book2" value="xiyou">《西游记》<br>        
          <input type="checkbox" name="book3" value="shuihu">《水浒传》<br>        
          <input type="checkbox" name="book4" value="hongloumemg">《红楼梦》<br>          
          <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());
 }
    }

109_14.png

109_15.png

(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);
            }
        }
 }

109_16.png

109_17.png

文章永久链接:https://tech.souyunku.com/23376

未经允许不得转载:搜云库技术团队 » request(获取请求信息、用户提交的数据)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们