`
ttwang
  • 浏览: 333777 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

HttpServletRequest类

    博客分类:
  • Java
 
阅读更多
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:

(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法

(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码:

<a  href="authenticate.jsp?username=lily">authenticate.jsp  </a>

或者:

<form  name="form1"  method="post"  action="authenticate.jsp">
   请输入用户姓名:<input  type="text"  name="username">
   <input  type="submit"  name="Submit"  value="提交">
</form>

在authenticate.jsp中通过request.getParameter("username")方法来获得请求参数username:

<%  String  username=request.getParameter("username");  %>

(3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。假定  authenticate.jsp和hello.jsp之间为转发关系。authenticate.jsp希望向hello.jsp传递当前的用户名字,  如何传递这一数据呢?先在authenticate.jsp中调用setAttribute()方法:

<%
String  username=request.getParameter("username");
request.setAttribute("username",username);
%>

<jsp:forward  page="hello.jsp"  />

在hello.jsp中通过getAttribute()方法获得用户名字:

<%  String  username=(String)request.getAttribute("username");  %>
Hello:  <%=username  %>

从更深的层次考虑,request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。

request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。

request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,,  request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段,这个的确是正解.

getAttribute是返回对象,getParameter返回字符串


request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。
分享到:
评论

相关推荐

    httpservletrequest的jar包

    httpservletrequest、httpsession的jar包,导入资源包。

    从HttpServletRequest获取各种路径总结

    除了上述通过`HttpServletRequest`获取路径的方式外,还可以在类中或Servlet中获取路径信息: ##### 在类中获取路径 - **类的绝对路径**:`Class.class.getClass().getResource("/").getPath()` - **获取工程的...

    Java service层获取HttpServletRequest工具类的方法

    首先,让我们看看提供的`ContextHolderUtils`类,这是一个实用工具类,它通过`RequestContextHolder`和`ServletRequestAttributes`来获取HttpServletRequest。`RequestContextHolder`是Spring框架提供的一个静态类,...

    tomcat10升级单个jar里面的jakarta.servlet.http.HttpServletRequest

    入参的HttpServletRequest必须为:import jakarta.servlet.http.HttpServletRequest; 运行cmd,再该目录下执行: 执行步骤:java -jar jakartaee-migration-1.0.1.jar commons-fileupload-1.4.jar commons-...

    用装饰模式装饰HttpServletRequest对象

    在Servlet环境中,我们可以创建一个实现了Filter接口的类,这个类包装了HttpServletRequest,从而在不修改原始请求对象的情况下,对其进行操作,如删除空白字符。 **装饰模式结构** 装饰模式通常包含以下组件: 1. ...

    spring-mock.jar

    org.springframework.mock.web.MockHttpServletRequest.class org.springframework.mock.web.MockHttpServletResponse.class org.springframework.mock.web.MockHttpSession.class org.springframework.mock.web....

    07_尚硅谷_Servlet_王振国 - 课堂笔记1

    1. HttpServletRequest类的作用: - 请求解析:HttpServletRequest对象将HTTP请求中的所有信息,如请求头、参数、路径等解析并封装。 - 提供访问请求信息的方法:提供了各种方法,使开发者能够方便地获取和操作与...

    JSP面试题及答案借鉴.pdf

    * request:HttpServletRequest类的Request对象,代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。 * response:HttpServletResponse类的Response对象,代表响应对象,主要用于向客户端发送...

    基于元素命名规则的SQL语句自动构造.pdf

    - HttpServletRequest类的getParameter(String name)方法用来获取请求中指定参数的值。 3. 自动化SQL语句构造: - 通过页面表单元素的命名规则,可以设计一种机制,自动根据表单中的数据构造相应的SQL语句。 - ...

    java 编写文件上传类简单易用

    提交请求的过程由浏览器完成的,并且遵循 HTTP 协议,每一个从浏览器端到服务器端的一个请求,都包含了大量与该请求有关的信息, 在 Servlet 中,HttpServletRequest 类将这些信息封装起来,便于我们提取使用。...

    jsp100个练习题

    1. 在 J2EE 中,HttpServletRequest 类的 getSession 方法用于创建对话。HttpSession 是一种服务器端的会话机制,用于存储用户的会话信息。 2. 在 Servlet 中,setAttribute 方法用于设置请求属性,setAttribute ...

    java web 国际化

    在Web应用程序中,可以通过HttpServletRequest类的getLocal方法获取客户端浏览器支持的首选Locale对象。此方法会根据HTTP请求中的Accept-Language字段来返回用户的本地信息。 Accept-Language字段是HTTP请求消息头...

    HttpServletRequest与HttpServletResponse的实现类.docx

    HttpServletRequest和HttpServletResponse是接口,它们的具体实现类由Web容器负责创建。以Tomcat为例,这两个接口的实现类分别是`RequestFacade`和`ResponseFacade`,它们位于`org.apache.catalina.connector`包下。...

    JSP内置对象实验报告.doc

    request对象是HttpServletRequest类的实例。通过request对象,我们可以获取客户端的请求信息,然后做出响应。 request对象的常用方法包括: * getRequestURI():获取请求的URI * getMethod():获取请求的方法(GET...

    圣思园jsp笔记

    - **request对象**是HttpServletRequest类的实例,它用于封装客户端请求,包括请求参数等,其存活范围仅限于一次请求。 - **session对象**是HttpSession类的实例,用于跟踪用户的会话状态,只要浏览器未关闭,...

    JavaWeb之装饰 HttpServletRequest 对象

    例如,我们可以创建一个`LoggingHttpServletRequestWrapper`类,该类实现了HttpServletRequest接口,并在其方法中添加了日志记录的逻辑。当Servlet容器调用这些方法时,我们的装饰器类会在执行原始方法之前和之后...

    HttpServletRequest源码 HttpServletResponse源码

    `HttpServletRequest`的实现类可能会包含如以下关键组件: - `Wrapper`机制,允许在不修改核心实现的情况下添加自定义行为。 - 针对请求头、参数和cookies的存储结构。 - 对于POST请求,可能包含解析multipart/form-...

    详解Spring框架下向异步线程传递HttpServletRequest参数的坑

    RequestContextHolder 是一个线程安全的工具类,它可以帮助我们在异步线程中获取当前的 HttpServletRequest 对象。我们可以使用 RequestContextHolder.getRequestAttributes() 方法来获取当前的请求属性,然后使用 ...

    java HttpServletRequest和HttpServletResponse详解

    HttpServletRequest和HttpServletResponse的包装类,如HttpServletRequestWrapper和HttpServletResponseWrapper,是为了提供额外的功能或者改变默认行为。它们实现了原接口,并允许你覆盖或添加方法,以适应特定的...

    javaWEB总结(7):HttpServlet和HttpServletRequest

    在Java Web开发中,`HttpServlet`和`HttpServletRequest`是两个至关重要的类,它们构成了Java Servlet API的基础,用于处理HTTP请求并生成响应。本篇总结将深入探讨这两个类的使用和功能,帮助你更好地理解Java Web...

Global site tag (gtag.js) - Google Analytics