介绍Servlet后端中两种接收参数方式req.getAttributer和req.getParameter的区别

  1. 数据来源

    • getParameter:此方法用于获取客户端发送的请求中携带的参数,通常这些参数是通过HTTP GET或POST请求传递的表单数据。例如,用户填写的用户名和密码等输入信息。
    • getAttribute :该方法用来获取在服务器端通过setAttribute方法设置的属性值。这些属性值是在服务器内部传递的数据,并不直接来自于客户端请求。
  2. 方法配对

    • getParameter :只有getParameter方法用于获取参数,没有对应的setParameter方法,这意味着不能在服务器端直接设置请求参数的值。
    • getAttribute :与getAttribute成对的是setAttribute方法,允许在服务器端设置属性及其值,然后在其他组件或页面通过getAttribute获取它们。
  3. 请求方式

    • getParameter:响应的是如表单提交或URL重定向这类客户端到服务端的请求。
    • getAttribute :响应的是服务端组件间的转发关系,即当一个请求被转发时,转发源可以通过setAttribute设置参数,然后转发目标通过getAttribute获取这些参数。
  4. 返回类型

    • getParameter:返回的类型永远是String。这是因为所有的HTTP请求参数都会被当作字符串处理。
    • getAttribute:可以返回任意类型的对象。如果需要得到特定的Java对象类型,必须进行强制类型转换。
  5. 应用场景

    • getParameter:主要用于处理用户的输入数据和简单的请求参数传递。
    • getAttribute:适合在多个服务器端组件之间共享复杂的数据对象,比如在MVC架构中,控制器向视图传递数据时使用。

综上所述,getParameter主要用于获取客户端传来的请求参数,而getAttribute更多用于服务器内部的数据传输和共享。最后,了解这些区别可以帮助开发者更有效地管理Web应用程序中的数据流,并根据不同的需求场景选择最合适的方法。

相关推荐
CS Beginner3 天前
【搭建】个人博客网站的搭建
java·前端·学习·servlet·log4j·mybatis
一只小透明啊啊啊啊6 天前
Java Web 开发的核心组件:Servlet, JSP,Filter,Listener
java·前端·servlet
芙蓉王真的好16 天前
优化 Jenkins 构建脚本:避免 pnpm lockfile 相关报错的关键配置
spring·servlet·jenkins
要站在顶端6 天前
Jenkins Pipeline 多job依赖、触发多Job、并行执行及制品下载
运维·servlet·jenkins
Live&&learn10 天前
Tomcat 10和Tomcat 9引入servlet的不同
java·servlet·tomcat
songx_9911 天前
idea建有servlet类的web项目
java·servlet·intellij-idea
chilavert31812 天前
技术演进中的开发沉思-146 java-servlet:Servlet 在云原生时代的适配”
服务器·servlet·云原生
JH307313 天前
解锁Servlet核心:深入剖析HttpServletRequest与HttpServletResponse
servlet
vx Biye_Design13 天前
servlet宠物医院管理系统-计算机毕业设计源码77418
java·vue.js·spring·servlet·eclipse·mybatis
夫唯不争,故无尤也15 天前
Tomcat 启动后只显示 index.jsp,没有进入你的 Servlet 逻辑
java·servlet·tomcat