当前位置: 首页 > news >正文

【Struts2学习笔记(8)】访问或添加request/session/application属性获取HttpServletRequest / HttpSession / ServletContex


(1)访问或添加request/session/application属性

public String scope() throws Exception{
   ActionContext ctx = ActionContext.getContext();
   ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app
   ctx.getSession().put("ses", "session范围");//往session里放入ses
   ctx.put("req", "request范围");//往request里放入req
   return "scope";
}

JSP:
 <body>
    ${applicationScope.app} <br>
    ${sessionScope.ses}<br>
    ${requestScope.req}<br>
 </body>


(2)获取HttpServletRequest / HttpSession / ServletContext / HttpServletResponse对象

方法一,通过ServletActionContext.类直接获取:

public String rsa() throws Exception{
	HttpServletRequest request = ServletActionContext.getRequest();
	ServletContext servletContext = ServletActionContext.getServletContext();
	request.getSession() 	
	HttpServletResponse response = ServletActionContext.getResponse();
	return "scope";
}


方法二,实现指定接口,由struts框架运行时注入:

public class HelloWorldAction implements ServletRequestAware, ServletResponseAware, ServletContextAware{
	private HttpServletRequest request;
	private ServletContext servletContext;
	private HttpServletResponse response;
	public void setServletRequest(HttpServletRequest req) {
		this.request=req;
	}
	public void setServletResponse(HttpServletResponse res) {
		this.response=res;
	}
	public void setServletContext(ServletContext ser) {
		this.servletContext=ser;
	}
}





相关文章:

  • ehcache.xml详解
  • 【Struts2学习笔记(9)】单文件上传和多文件上传
  • 如何更改Java默认的花括号对齐方式
  • GET和POST区别和用法
  • 【Struts2学习笔记(10)】自定义拦截器管理权限访问
  • 大型网站提速方案
  • 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的所有方法进行输入校验
  • 分享一百多套开发视频教程的下载地址
  • java中Object类 源代码详解
  • 史上最全Java学习视频下载地址分享
  • MySql 查询一周内最近7天记录
  • 【Struts2学习笔记(12)】Struts2国际化
  • 【Struts2学习笔记(13)】Struts2中OGNL详解
  • 【Struts2学习笔记(14)】Struts2标签元素
  • SSH2框架搭建Jar下载地址
  • Angular 响应式表单之下拉框
  • Asm.js的简单介绍
  • Cumulo 的 ClojureScript 模块已经成型
  • FineReport中如何实现自动滚屏效果
  • iOS 颜色设置看我就够了
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Objective-C 中关联引用的概念
  • PHP的类修饰符与访问修饰符
  • 阿里云前端周刊 - 第 26 期
  • 浮动相关
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 老板让我十分钟上手nx-admin
  • 力扣(LeetCode)22
  • 前端面试之闭包
  • 嵌入式文件系统
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 通过几道题目学习二叉搜索树
  • 限制Java线程池运行线程以及等待线程数量的策略
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 主流的CSS水平和垂直居中技术大全
  • 阿里云API、SDK和CLI应用实践方案
  • 昨天1024程序员节,我故意写了个死循环~
  • ​2021半年盘点,不想你错过的重磅新书
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​学习一下,什么是预包装食品?​
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #define与typedef区别
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (a /b)*c的值
  • (C语言)fgets与fputs函数详解
  • (rabbitmq的高级特性)消息可靠性
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (图)IntelliTrace Tools 跟踪云端程序
  • (五)关系数据库标准语言SQL
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)创业家杂志:UCWEB天使第一步
  • (转)关于如何学好游戏3D引擎编程的一些经验