原文: https://beginnersbook.com/2013/11/jsp-implicit-object-request-with-examples/

这里我们将讨论 JSP 中的request隐式对象。它主要用于获取用户在之前的 JSP 页面上输入的 JSP 页面上的数据。

request隐式对象的方法

  1. getParameter(String name) - 此方法用于获取请求参数的值。例如,在登录页面,用户输入用户 ID 和密码,一旦验证了凭证,登录页面就会被重定向到用户信息页面,然后使用request.getParameter我们可以获得用户在登录页面输入的用户 ID 和密码的值。
    1. String Uid= request.getParameter("user-id");
    2. String Pass= request.getParameter("password");
  1. getParameterNames() - 它返回与请求关联的所有参数名称的枚举。
    1. Enumeration e= request.getParameterNames();
  1. `getParameterValues(String name) - 它返回参数值数组。
    1. String[] allpasswords = request.getParameterValues("password");
  1. getAttribute(String name) - 用于获取属性值。request.getAttribute("admin")将为您提供属性admin的值。

  2. getAttributeNames() - 它通常用于获取与当前会话关联的属性名称。它返回会话中存在的属性名称的枚举。

    1. Enumerator e = request.getAttributeNames();
  1. setAttribute(String, Object) - 它将一个对象的值赋给该属性。例如,我有一个属性password和一个String对象str,其值为"admin"然后调用request.setAttribute("password", str)将赋值admin到属性password

  2. removeAttribute(String) - 通过使用此方法,可以删除属性,不能进一步使用。对于例如如果在 JSP 页面上有声明request.removeAttribute("userid"),那么userid属性将被完全删除,而在removeAttribute方法之后使用request.getAttribute("userid")将返回 NULL

  3. getCookies() - 它返回从客户端收到的 cookie 对象数组。此方法主要用于处理 JSP 中的 cookie。

  4. getHeader(String name) - 此方法用于获取请求的头信息。

  5. getHeaderNames() - 返回所有标题名称的枚举。下面的代码片段将显示与请求关联的所有标头名称。

  1. ```html
  2. Enumeration e = request.getHeaderNames();
  3. while (enumeration.hasMoreElements()) {
  4. String str = (String)e.nextElement();
  5. out.println(str);
  6. }
  1. 11. `getRequestURI()` - 此方法(`request.getRequestURI()`)返回当前 JSP 页面的 URL
  2. 12. `getMethod()` - 它返回 HTTP 请求方法。`request.getMethod()`。例如,它将为`Get`请求返回`GET`,为`Post`请求返回`POST`
  3. 13. `getQueryString()` - 用于获取与 JSP 页面 URL 关联的查询字符串。它是在问号符号(`?`)后与 URL 相关联的字符串。
  4. <a name="e62a0303"></a>
  5. ### `request`隐式对象示例
  6. 在下面的示例中,我们在`index.html`页面中接收来自用户的输入,并使用`request`隐式对象在`userinfo.jsp`页面中显示相同的信息。
  7. `index.html`
  8. ```html
  9. <html>
  10. <head>
  11. <title>Enter UserName and Password</title>
  12. </head>
  13. <body>
  14. <form action="userinfo.jsp">
  15. Enter User Name: <input type="text" name="uname" /> <br><br>
  16. Enter Password: <input type="text" name="pass" /> <br><br>
  17. <input type="submit" value="Submit Details"/>
  18. </form>
  19. </body>
  20. </html>

userinfo.jsp

<%@ page import = " java.util.* " %>
<html> 
<body> 
<% 
String username=request.getParameter("uname"); 
String password=request.getParameter("pass"); 
out.print("Name: "+username+" Password: "+password);
%> 
</body> 
</html>

上述例子的快照

一旦运行上面的 JSP 代码。它会显示以下屏幕,其中包含两个用户名和密码的文本字段。

JSP 中的`request`隐式对象 - 图1

这是userinfo.jsp页面的输出。这里我们获取了用户在登录页面中输入的 id 和密码。

JSP 中的`request`隐式对象 - 图2

如果您对 JSP request隐式对象有任何疑问,请告诉我们。我们很乐意帮助您!!