- 浏览: 1460719 次
- 性别:
- 来自: 广东
文章分类
- 全部博客 (190)
- eclipse (5)
- struts (15)
- spring (1)
- hibernate (0)
- myeclipse (3)
- java (35)
- apache (1)
- PHP (7)
- 虚拟机 (0)
- 网络安全 (3)
- 防火墙 (1)
- linux (7)
- SVN (22)
- 测试文档 (1)
- 测试经验 (0)
- 项目管理 (0)
- BUG管理工具 (3)
- 安装配置 (3)
- 性能工具 (7)
- 脚本学习 (0)
- 协议选择 (0)
- loadrunner错误处理 (0)
- 相关监控配置 (0)
- 框架的认识 (0)
- 手动关联 (0)
- 性能调优 (1)
- 负载均衡 (0)
- 代码学习 (1)
- Windows (5)
- 软件开发安全 (0)
- 考研经验 (1)
- SQL SERVER (1)
- MySQL (6)
- LVS (0)
- ORACLE (1)
- TOMCAT (0)
- 开源框架 (1)
- EOS (3)
- web (5)
- JEECMS (7)
- XML (1)
- LDAP (3)
- ehcache (1)
- Ajax (3)
- OpenSourceTools (1)
- Exception (1)
- 密码学 (1)
- os-centos (1)
- os-ubuntu (0)
- os-FreeBSD (0)
- os-Fedora (0)
- 浏览器-chrome (1)
- flex (1)
- 数据结构与算法 (0)
最新评论
-
joedan0104:
挺方便的,谢谢
JDK1.6官方下载_JDK6官方下载地址:http://www.java.net/download -
naruik:
非常感谢,不用自己找了。收藏和关注了。
JDK1.6官方下载_JDK6官方下载地址:http://www.java.net/download -
scd01234:
感谢!
JDK1.6官方下载_JDK6官方下载地址:http://www.java.net/download -
qingcheng123:
大虾,5.3这个版本有没有下载地址呀,谢谢!
EOS5.3+Tomcat5.0.28升级JDK1.5解决方案 -
1021082712:
JDK1.6官方下载_JDK6官方下载地址:http://www.java.net/download
Struts 2提供了多种方式来访问上述的三种对象,归结起来,可以划分为两大类:与Servlet API解耦的访问方式和与Servlet API耦合的访问方式。
与Servlet API解耦的访问方式(IoC方式)
为了避免与Servlet API耦合在一起,方便Action类做单元测试,Struts 2对HttpServletRequest、HttpSession和ServletContext进行了封装,构造了三个Map对象来替代这三种对象, 在Action中,直接使用HttpServletRequest、HttpSession和ServletContext对应的Map对象来保存和读取 数据。
要获取这三个Map对象,可以使用com.opensymphony.xwork2.ActionContext类,ActionContext 是action执行的上下文,在ActionContext中保存了action执行所需的一组对象,包括parameters、request、 session、application和locale等。ActionContext类定义了如下方法,用于获取 HttpServletRequest、HttpSession和ServletContext对应的Map对象。
Ø public Object get(Object key)
ActionContext类没有提供类似getRequest()这样的方法来获取封装了HttpServletRequest的Map对象。要得到请求Map对象,你需要为get()方法传递参数“request”。
Ø public Map getSession()
获取封装了HttpSession的Map对象。
Ø public Map getApplication()
获取封装了ServletContext的Map对象。
我们看 通过ActionContext来获取request、session和application对象的LoginAction1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
package action; import java.util.Map; import dbPackage.User; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; public class LoginAction1 implements Action { private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } @SuppressWarnings("unchecked") @Override public String execute() throws Exception { if("zhangsan".equals(user.getUsername())&& "1234".equals(user.getPassword())) { ActionContext context = ActionContext.getContext(); Map request = (Map)context.get("request"); Map session = context.getSession(); Map application = context.getApplication(); //在请求中放置欢迎信息。 request.put("greeting", "欢迎您来到程序员之家"); //在session中保存user对象 session.put("user", user); //统计用户访问量,在application中保存用户访问量数据 Integer count = (Integer)application.get("counter"); if(null == count) count=1; else count++; application.put("counter", count); return SUCCESS; }else { return ERROR; } }} |
在成功页面中,可以使用JSP内置的表达式语言来访问request、session和application范围的数据,代码如例3-12所示。
例3-12 success.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<%@ page contentType="text/html;charset=GBK" %> <html> <head><title>欢迎页面</title></head> <body> <h3>${sessionScope.user.username},${requestScope.greeting}。<br> 本站的访问量是:${applicationScope.counter}</h3> </body> </html> |
与Servlet API耦合的访问方式(非IoC方式)
要获得上述对象,关键Struts 2.0中com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前 Action的上下文对象。 另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
如果你只是想访问session的属性(Attribute),你也可以通过ActionContext.getContext().getSession()获取或添加session范围(Scoped)的对象。
发表评论
-
Struts2 文件上传文件类型allowedTypes汇总
2010-05-19 17:48 1717Struts2 文件上传文件类型allowedTypes汇总 ... -
设置Struts2文件上传的类型和大小
2010-05-19 16:42 2112设置Struts2文件上传的类型和大小 设置Struts ... -
Struts2多文件上传
2010-05-19 16:37 1380Struts2多文件上传 Struts2多文件上传: 在 ... -
Struts2文件上传详解
2010-05-19 16:36 1396Struts2文件上传详解 St ... -
JSP 生成随机验证码图片(经典老代码)
2010-03-21 17:29 1426JSP 生成随机验证码图片(经典老代码) ... -
封装了 Jakarta 文件上传功能的一个类
2010-03-21 17:28 1390封装了 Jakarta 文件上传功能的一个类 后 ... -
在Eclipse下创建Jeecms项目图文指南2009-12-30 15:30 Jeecms作为一个开源项目自发布以来受到全国各地JEE用户及爱好者的广泛关注
2010-03-06 12:34 1899在Eclipse下创建Jeecms项目 ... -
在Myeclipse7中整合struts2+spring2.5+hibernate3.2
2009-11-23 16:51 1741在Myeclipse7中整合struts2+spring2.5 ... -
请不要做浮躁的人(转载)
2009-11-23 16:45 1047请不要做浮躁的人(转 ... -
整合Struts2+JasperReport Web报表应用示例
2009-11-23 16:43 3742整合Struts2+JasperReport Web报表应用示 ... -
struts2 get 请求 下载 中文处理
2009-11-23 16:40 1570struts2 get 请求 下载 中文处理 最近因项目 ... -
struts2整合spring应用实例
2009-11-23 16:39 1390struts2整合spring应用实 ... -
strtus2 批量下载 中文问题、压缩文件等 ------ 讨论struts2工作流程
2009-11-23 16:34 2516strtus2 批量下载 中文问题、压缩文件等 ------ ... -
Struts Spring Hibernate 面试题
2009-03-03 14:38 2191Struts Spring Hibernate 面试题 ...
相关推荐
这使得我们可以利用Struts2的特性来处理Ajax请求。 - **Struts2 JSON插件**:为了支持Ajax请求,我们需要引入`struts2-json-plugin-2.3.7.jar`。这个插件提供了JSON结果类型,使得Struts2可以返回JSON格式的数据,...
总结起来,"struts2+Mysql搭建的服务端 +android 客户端 post,get请求"这个项目涵盖了Web服务开发的多个关键方面:服务端架构设计、数据库管理和客户端网络通信。了解并熟练掌握这些技术,对于构建高效、安全的移动...
Struts2提供了丰富的功能,如拦截器、结果类型、国际化支持等,使得开发者能够更高效地处理请求和响应。 在MVC架构中,Model负责业务逻辑,View负责展示,而Controller负责接收用户请求并调用Model进行处理,然后将...
例如,使用jQuery的`$.ajax()`或`$.getJSON()`方法发起请求,设置URL指向Struts2的Action,并处理返回的数据。 3. **Struts2插件支持**:Struts2提供了Ajax插件,如`struts2-jquery-plugin`和`struts2-json-plugin`...
Struts2的核心是Action类,它是处理用户请求并执行业务逻辑的中心组件。每个Action类对应一个URL,当用户通过浏览器发送请求时,Struts2框架会根据配置文件将请求映射到相应的Action。 在Struts2Demo2中,你可能会...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java ...通过这个项目,你可以学习到Struts2的Action配置、Ajax请求的发送与接收、以及前端和后端的数据处理。这将对理解和提升你的Java Web开发技能大有裨益。
然而,中文乱码问题一直是困扰开发者的一个常见问题,特别是在处理POST和GET请求时。以下是对标题和描述中涉及知识点的详细解释: 1. **StrutsPrepareAndExecuteFilter**: Struts2框架中的`...
例如,我们可以使用jQuery的`.ajax()`方法发送POST或GET请求到Struts2 Action,获取服务器端数据并动态更新页面。 GET和POST是HTTP协议中的两种基本请求方法。在Struts2中,Action可以通过注解或配置文件指定处理...
在Struts2中,从请求取值是日常开发中的常见操作,有三种主要的方式可以实现这一功能。本篇将详细介绍这三种方法。 1. **Action上下文(ActionContext)** ActionContext是Struts2中一个关键的类,它提供了访问...
在进行Web开发时,我们经常会遇到Ajax GET请求发送中文参数时出现乱码的问题...在提供的压缩包文件`strtus-ajax-by-get-zh-garbled`中,可能包含了关于Struts框架下解决Ajax GET请求中文乱码的示例代码,可以参考学习。
这告诉Struts2框架当收到名为`struts2Action`的请求时,使用`Struts2Action`类,并返回JSON格式的结果。如果需要在Action执行后返回一个页面,可以将`result`元素的类型改为`dispatcher`。 总结来说,通过这种方式...
在Struts2中,文件上传和下载是常见的功能需求,主要用于处理用户在Web表单中提交的文件,如图片、文档等。下面将详细介绍Struts2中文件上传和下载的实现方法。 ### 1. 文件上传 #### 1.1 配置Struts2 首先,我们...
Action类是处理用户请求的核心,它通过配置在struts.xml文件中的映射来与视图层交互。在处理文件下载时,我们通常会创建一个专门的Action类,该类包含一个或多个方法来处理文件的读取和响应。 文件下载的关键在于...
2. **Struts2 Action处理请求**:创建一个Struts2 Action类,定义一个方法处理请求,返回JSON数据。需要在struts.xml配置文件中添加对应的Action配置,并指定结果类型为json。 ```java public class MyAction ...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展、模块化且易于管理的企业级应用程序。在当今网络安全日益重要的环境下,使用HTTPS协议来确保数据传输的安全性变得至关重要。Struts2支持HTTPS配置,可以...
在Struts2中处理文件下载是一项常见的任务,尤其在处理用户请求获取服务器上存储的资源时。以下是对文件下载流程、配置以及相关类和方法的详细说明。 **文件下载流程:** 1. **前端请求**:用户通过浏览器点击下载...
2. **请求处理**: 当客户端发送请求时,过滤器拦截请求并将其转发给Struts2的内核进行处理。 3. **Action执行**: Struts2内核解析请求并定位到相应的Action类进行执行。 4. **结果处理**: 执行完成后,根据Action的...
7. **RESTful服务**:Struts2也可以创建RESTful服务,示例可能包含如何处理HTTP动词(GET、POST、PUT、DELETE)和返回JSON或XML响应。 通过研究和运行这些示例,开发者不仅可以理解Struts2的工作原理,还能快速上手...
- **Struts2 Action处理**:在服务器端创建对应的动作,处理请求并返回响应。 - **处理响应**:在客户端的回调函数中,根据请求状态处理响应数据,更新页面元素。 5. **安全和优化**: - **防止跨站请求伪造...
标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...