安装 REST 插件非常简单,只需按如下步骤进行即可:
- 将 Struts 2 项目下 struts2-convention-plugin-2.1.6.jar、struts2-rest-plugin-2.1.6.jar 两个 JAR 包复制到 Web 应用的 WEB-INF\lib 路径下。
- 由于 Struts 2 的 REST 插件还需要将提供 XML、JSON 格式的数据,因此还需要将 xstream-1.2.2.jar、json-lib-2.1.jar、ezmorph-1.0.3.jar 以及 Jakarta-Common 相关 JAR 包复制到 Web 应用的 WEB-INF/lib 路径下。
- 通过 struts.xml、struts.properties 或 web.xml 改变 struts.convention.default.parent.package 常量的值,让支持 REST 风格的 Action 所在的包默认继承 rest-default,而不是继承默认的 convention-default 父包。
对于第三个步骤而言,开发者完全可以不设置该常量,如果开发者不设置该常量,则意味着开发者必须通过 Annotation 为每个 Action 类设置父包。
分享到:
相关推荐
以 Convention 插件为基础,Struts 2.1 又新增了 REST 插件,允许 Struts 2 应用对外提供 REST 服务。REST 插件也无需使用 XML 进行配置管理。Struts 2.1 通过 REST 插件完全可以提供让人和机器客户端共同使用的资源...
而Struts2的REST插件则是为了让开发者能够轻松地在Struts2应用中实现RESTful服务。REST(Representational State Transfer)是一种软件架构风格,常用于设计网络应用程序,特别是Web服务。RESTful服务遵循一组特定的...
由于 Struts 2 的 REST 插件还需要将提供 XML、JSON 格式的数据,因此还需要将 xstream-1.2.2.jar、json-lib-2.1.jar、ezmorph-1.0.3.jar 以及 Jakarta-Common 相关 JAR 包复制到 Web 应用的 WEB-INF/lib 路径下。...
- **Struts2 REST插件**:这个插件使Struts2能够处理RESTful请求,解析HTTP方法和URI模板。 - **Action映射**:配置Action以响应特定的RESTful路径,例如`...
2. **配置Struts2**:在struts.xml配置文件中启用REST插件,并配置Action,如: ```xml <constant name="struts.action.extension" value=","/> <package name="rest" namespace="/" extends="struts-default,...
在这个"Struts2+rest简单实例"中,开发者创建了一个小型的示例应用,目的是帮助初学者快速理解如何在Struts2框架中集成RESTful服务。以下是这个实例中可能涉及的关键知识点: 1. **Struts2框架基础**:Struts2的...
3. **Action映射**:Struts2 REST插件会自动根据URL映射到相应的action,URL的路径部分将被解析为action的方法参数。例如,`/app/test/aa`可以映射到上面定义的`TestAction`,其中`aa`作为方法参数传递。 4. **结果...
5. `lib` - 依赖的jar文件,如Struts2的核心库、REST插件以及其他依赖的库。 6. `resources` - 可能包含一些配置文件或其他资源,如国际化文件。 7. `jsp` - JSP页面,用于展示视图。 通过分析和运行这个示例项目,...
5. **插件体系**:Struts2支持丰富的插件,如Tiles、Freemarker、i18n等,方便扩展和定制应用。 **Struts2-showcase示例** Struts2-showcase项目展示了Struts2的几乎全部功能,包括但不限于: 1. **Action和结果**...
2. **配置Struts2**:在struts.xml配置文件中,定义REST插件并配置相关的拦截器栈。例如: ```xml <constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts.mapper....
这个插件主要的功能是让Struts2应用程序能够轻松地处理JSON(JavaScript Object Notation)数据格式,使得Web应用可以方便地进行JSON序列化和反序列化,从而实现与前端的Ajax交互。 Struts2是一个基于Model-View-...
S2-045漏洞,全称为"Apache Struts2 S2-045 - REST插件XSLT动作远程代码执行漏洞",它存在于Struts2的REST插件中,由于对XSLT动作处理不当,攻击者可以构造特定的HTTP请求,从而在服务器端执行任意代码。这个漏洞的...
2. **禁用不必要的插件**:如果应用不需要REST插件,应将其禁用以降低风险。 3. **正确配置**:正确设置Struts2的配置文件,如struts.xml,避免过度信任用户输入。 4. **输入验证**:对所有用户输入进行严格的验证...
S2-019,又称为“Struts2 Rest Plugin远程代码执行漏洞”,主要是由于Struts2 REST插件处理XML请求时存在的问题,使得攻击者可以通过发送精心构造的XML请求来执行任意代码。解决方法是禁用REST插件或升级Struts2到...
3. **struts2-config-browser-plugin.jar** - 用于在Web应用中浏览器查看Struts配置的插件。 4. **xwork-core.jar** - XWork框架是Struts2的基础,包含了Action、Result、Interceptor等概念的实现。 5. **ognl.jar**...
5. 还有其他如Struts2的测试插件、REST插件、JMX插件等,为开发者提供了更丰富的功能选择。 使用Struts2.1.6时,开发者需要根据项目需求选择合适的jar包和插件,并结合Struts2的配置文件(通常为struts.xml)进行...
Rest 插件使用了之后,ActionMapping 是通过 org.apache.struts2.rest. RestActionMapper.java 的 public ActionMapping getMapping(HttpServletRequest request, ConfigurationManager configManager) 的方法获取的...
### Struts2-Convention插件使用详解 ...Struts2-Convention插件极大简化了Struts2应用的开发与维护,通过约定优于配置的原则,减少了繁琐的XML配置需求,使开发者能够更加专注于业务逻辑的实现。