struts-request 请求参数的生命

struts-request 请求参数的生命

以前我看过很多文章,大概的意思是:挡在浏览器请求时就会生成一个新的线程,request就会在整个线程的生命周期里,jsp->action->jsp,当线程注销时,request也会注销,当你再次请求浏览器时,又会再生一个线程,同时也会生成新的request。

其实这里面的意思大家都会明白,当看到这样的文章我也感觉自己很明白,可是实际应用中还会表现出不足。

 

 下面的讨论都是在product_id不变的情况下讨论的,只是简单的从一个jsp传令一个jsp中

浏览器中我们请求路径:http://localhost:8080/fangdo/calculator/listPriceByProductId.action?product_id=1,会根据配置文件找到相应的action的方法,

在方法中我们可以通过

HttpServletRequest request = ServletActionContext.getRequest(); String product_id= request.getParameter("product_id");

这俩行获得product_id参数值,然后在后台进行逻辑操作。

可以通过下面的代码传到jsp页面中

request.setAttribute("product_id", product_id);

在jsp页面中可以通过这一行获得值:

String product_id = request.getAttribute("product_id");

上面的流程是请求开始时传递参数,这个参数伴随着整个生命周期。

发现问题没?

请求是jsp->action->jsp,如果我们想在跳转后的jsp页面中获得参数,可以直接使用

String product_id= (String)request.getParameter("product_id");

而不用上面那么麻烦,这个参数一直在这个request生命中,你可以在在这个request生命中的任何时候获取他,使用它。

如果在action中获得参数,然后通过setAttribute()方法发送到jsp中,再有jsp中getAttribute()获得。这是对request生命周期的理解错误的表现,可能你会理解成jsp->action就是request的作用区域,所以需要setAttribute()方法将参数再次传一下。其实在浏览器请求时就会生成一个新的线程,request就会在整个线程的生命周期里,jsp->action->jsp,这是request的整个生命周期。

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/winHerson/blog/52498

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110438.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php 变量名前加一个下划线含义

    php 变量名前加一个下划线含义

    2021年10月21日
    43
  • PHP二维数组排序 array_multisort

    PHP二维数组排序 array_multisort1 根据二维数组中的某一列按升序或者降序排列不需要遍历数组就可以对二维数组排序 1 构造数组 data a gt 23 b gt hhhh c gt 2013 12 23 a gt 26 b gt hkkk c gt 2013 12 26 a gt 20 b gt 565 c gt 2

    2025年7月11日
    4
  • 10款滑动门代码_jquery 滑动门_js滑动门_tab滑动门_jquery 选项卡_js选项卡_tab选项卡效果(三)

    10款滑动门代码_jquery 滑动门_js滑动门_tab滑动门_jquery 选项卡_js选项卡_tab选项卡效果(三)jquerytab选项卡插件滑动选项卡淡隐淡现选项卡jquerytab选项卡插件轻量级tab选项卡插件支持鼠标滑过、点击、自动切换、数据回调等功能jquery选项卡插件jquerytab选项卡支持垂直选项卡滚动、水平选项卡滚动、自动选项卡切换等。jquerytab选项卡ajax选项卡静态选项卡鼠标点击选项卡鼠标滑过选项卡jquery图片延迟加载插件制作tab选项卡图片异步加载…

    2025年6月5日
    2
  • 群晖nas 文件服务器,群晖nas挂到云服务器上

    群晖nas 文件服务器,群晖nas挂到云服务器上群晖nas挂到云服务器上内容精选换一换在公有云上部署SAPHANA所需要的云服务如下。无法直接从云备份控制台查看备份中的数据,您可以通过以下几种方式进行查看:云服务器备份使用云服务器备份创建镜像后,再使用镜像创建云服务器。登录云服务器,查看服务器中的数据。云硬盘备份使用云硬盘备份创建新的云硬盘后,将云硬盘挂载至云服务器上。登录云服务器,查看磁盘中的数据。SFSTurbo备份使用SFSTur…

    2022年6月26日
    43
  • 打印纸张尺寸换算_纸张尺寸对照表

    打印纸张尺寸换算_纸张尺寸对照表常用纸张的尺寸大小对照表-纸张规格对照表纸张的大小国际标准化组织的ISO216国际标准指明了大多数国家使用的标准纸张的尺寸。此标准源自德国,在1922年通过,定义了A、B、C三组纸张尺寸,C组纸张尺寸主要用于信封。另外,有些国家也有自己的标准,如美国,日本。这里主要是指办公用纸。下面是一些标准纸张的具体尺寸。单位:mmISO216AA0A1A2A3A4A5A…

    2022年6月20日
    240
  • nginx和apache的区别[通俗易懂]

    nginx和apache的区别[通俗易懂]简单的说apachehttpd和nginx都是web服务器,但两者适应的场景不同,也就是两者专注于解决不同的问题。apachehttpd:稳定、对动态请求处理强,但同时高并发时性能较弱,耗费资源多。nginx:高并发处理能力强、擅长处理静态请求、反向代理、均衡负载。在这篇文章详细列出了apache与nginx的13个异同点,下面我们来一一分析其原理。1、nginx相对于apache的优点:轻量级,同样起web服务,比apache占用更少的内存及资源,抗并发,nginx处理请求是异

    2022年6月13日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号