zoukankan      html  css  js  c++  java
  • jsp_内置对象_request

    request内置对象是使用最多的一个对象,其主要作用是接收客户端发送来的请求信息。如请求的参数、发送的头信息等都属于客户端发送来的信息。request是javax.servlet.http.HttpServletRequest接口的实例化对象,表示此对象主要是用在http协议上。

    下面我们具体介绍一下request对象常用的几种方法:

    1.request—乱码解决

    下面我们直接使用小例子来说明:

    (1)编写提交表单-request_dmeo1.html

     1 <!doctype html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title>request对象</title>
     6 </head>
     7 
     8 <body>
     9     <form action="request_demo_01.jsp" method="post">
    10         请输入信息:<input type="text" name="info"/>
    11         <input type="submit" value="提交">
    12     </form>
    13 </body>
    14 </html>

    (2)接收表单内容-request_demo_01.jsp

    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>request对象</title>
    </head>
    
    <body>
        <%
            String content=request.getParameter("info");
        %>
        <%=content%>
    </body>
    </html>

    程序的运行结果如下图所示:

         

    如上图所示,当在文本框中输入中文以后,页面跳转,中文却无法正常显示。这主要是因为浏览器编码与jsp页面编码不一致造成的。此时,可以直接使用request.setCharacterEncoding()方法设置统一的编码即可。

    request_demo_01.jsp

     1 <%@ page contentType="text/html;" language="java" import="java.sql.*" errorPage="" pageEncoding="utf-8" %>
     2 <!doctype html>
     3 <html>
     4 <head>
     5 <meta charset="utf-8">
     6 <title>request对象</title>
     7 </head>
     8 
     9 <body>
    10     <%
    11         request.setCharacterEncoding("utf-8");
    12         String content=request.getParameter("info");
    13     %>
    14     <%=content%>
    15 </body>
    16 </html>

    再次运行便可看到:

    2.request_接收请求参数

    我们通常会使用getParameter()方法接收一个参数,无法接收一组参数。如果要接收一组参数,可以使用getParametersValues()方法进行接收。

    下面我们直接使用小例子来说明:

    (1)定义表单,传递多种参数-request_demo2.html

     1 <!doctype html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title>request接收参数</title>
     6 </head>
     7 
     8 <body>
     9     <form action="request_demo_02.jsp" method="post">
    10         姓名:<input type="text" name="uname"><br>
    11         兴趣:<input type="checkbox" name="inst" value="唱歌">唱歌
    12             <input type="checkbox" name="inst" value="跳舞">跳舞
    13             <input type="checkbox" name="inst" value="游泳">游泳
    14             <input type="checkbox" name="inst" value="看书"> 看书
    15             <input type="checkbox" name="inst" value="旅游">旅游
    16             <input type="hidden" name="id" value="3">
    17             <br><input type="submit" value="提交">
    18             <input type="reset" value="重置">
    19     </form>
    20 </body>
    21 </html>

    (2)接收参数-request_demo_02.jsp

     1 <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
     2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     3 <html xmlns="http://www.w3.org/1999/xhtml">
     4 <head>
     5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     6 <title>request接收参数</title>
     7 </head>
     8 
     9 <body>
    10     <%
    11         request.setCharacterEncoding("utf-8");
    12         String id=request.getParameter("id");
    13         String name=request.getParameter("uname");
    14         String insts[]=request.getParameterValues("inst");
    15     %>
    16     <h2>编号:<%=id%></h2>
    17     <h2>姓名:<%=name%></h2>
    18     <%
    19         if(insts!=null){
    20     %>
    21     <h3>兴趣:
    22     <%
    23         for(int x=0;x<insts.length;x++){
    24     %>
    25             <%=insts[x]%>
    26     <%
    27         }
    28     %>
    29     </h3>
    30     <%
    31         }
    32     %>
    33 </body>
    34 </html>

    程序运行结果如下图所示:

         

    注:在web开发中,所有的参数不一定非要由表单传递,也可以使用地址重写的方式进行传递。(动态页面地址?参数名称1=参数内容1&参数名称2=参数内容2)

    3.request_显示全部的头信息

    头信息名称——getHeaderNames()

    头信息内容——getHeader()

    下面写个小例子来说明下:

    request_demo_03.jsp

    1.  1 <%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" errorPage="" %>
       2 <!doctype html>
       3 <html>
       4 <head>
       5 <meta charset="utf-8">
       6 <title>request--头信息</title>
       7 </head>
       8 
       9 <body>
      10     <%
      11         Enumeration enu=request.getHeaderNames();  //取得全部头信息
      12         while(enu.hasMoreElements()){
      13             String headname=(String)enu.nextElement();
      14             String headvalue=request.getHeader(headname); //取得头信息内容
      15     %>
      16             <h5><%=headname%>-><%=headvalue%></h5>
      17     <%
      18         }
      19     %>
      20 </body>
      21 </html>

      运行程序后浏览器中显示内容如下图所示:

  • 相关阅读:
    FAQ: c++ 函数名后添加 const void function1(int &id) const
    FAQ: C++中定义类的对象:用new和不用new有何区别?
    How to create a project with existing folder of files in Visual Studio?
    How to export a template in Visual Studio?
    t4 multiple output sample
    fastjson1.2.48以下版本存在重大漏洞
    一秒完成springboot与logback配置
    统计greenplum_postgresql数据占用存储情况
    上传文件不落地转Base64字符串
    三个标签完成springboot定时任务配置
  • 原文地址:https://www.cnblogs.com/ninicwang/p/6013700.html
Copyright © 2011-2022 走看看