为restful开发的话,一定要设计到URL,struts正好是管理URL的
所以在struts的项目中用restful,要遵守struts的规则
rest在struts中对应的方法
上面是官方给出的帮助文档(默认情况下)
- get,不带id参数——index
- get,带id——show
- post,不带id——create
- put,带id——update
- delete,带id——destroy
- get,带id且访问edit资源——edit
- get,不带id访问edit资源——editNew
rest的相关常量
-
struts.mapper.idParameterName
- If set, this value will be the nameof the parameter under which the id is stored. The id will then be removedfrom the action name. Whether or not the method is specified, the mapper willtry to truncate the identifier from the url and store it as a parameter. -
struts.mapper.indexMethodName
- The method name to call for a GETrequest with no id parameter. Defaults toindex. -
struts.mapper.getMethodName
- The method name to call for a GETrequest with an id parameter. Defaults toshow. -
struts.mapper.postMethodName
- The method name to call for a POSTrequest with no id parameter. Defaults tocreate. -
struts.mapper.putMethodName
- The method name to call for a PUTrequest with an id parameter. Defaults toupdate. -
struts.mapper.deleteMethodName
- The method name to call for a DELETErequest with an id parameter. Defaults todestroy. -
struts.mapper.editMethodName
- The method name to call for a GETrequest with an id parameter and theeditview specified. Defaults toedit. -
struts.mapper.newMethodName
- The method name to call for a GETrequest with no id parameter and thenewview specified. Defaults toeditNew.
在struts.xml里面设置这些常量可以改变访问的method以及id参数在action中的的变量名
配置
- 使用restful开发action的package要继承自rest-default
- 在struts.xml中配置
<constant name="struts.mapper.class" value="rest" />
为了让struts根据rest的约定解析URL且映射到具体的action - 将struts2-convention-plugin-2.1.6.jar、struts2-rest-plugin-2.1.6.jar导入项目
- 将 xstream-1.2.2.jar、json-lib-2.1.jar、ezmorph-1.0.3.jar导入项目
注意
- jsp只支持get、post、head方法访问,所以put和delete就返回json数据给前台
- 要返回json数据的话,需要在package继承"json-default"
- 带id参数,是指在url中直接加入id,而不是parameter中,也不需要key,只用value 比如/123,123就是id,/haha,haha也是个id
- ?id=123这种不是带id参数的访问
- id和edit结合的话,id在edit前面 比如/123;edit或者/123/edit
查看原文:http://www.wewill.top/2016/06/07/struts%e6%8b%93%e5%b1%95restful/
相关推荐
因為剛入職 公司要求會使用struts2 restful風格,剛開始都沒聽說過restful,然後在網上找了N久的講解或demo,都沒找到,花了一週 在老大的指導下搞出來了,希望可以幫助到想學restful風格的同學們
STRUTS2 RESTFUL PLUGIN
Struts2请求转restful所需jar包 ezmorph-1.0.6.jar json-lib-2.3-jdk15.jar struts2-convention-plugin-2.3.14.jar struts2-rest-plugin-2.3.14.jar xstream-1.4.3.jar
Struts2、Spring3 和 JPA 是 Java Web 开发中常用的三大框架,它们结合RESTful架构,可以构建高效、灵活的Web应用。这篇概述将深入探讨这三个框架以及RESTful服务的相关知识点。 首先,Struts2 是一个基于MVC...
Struts 2 依然是一个 MVC 框架,最初设计 Struts 2 时并没有按 REST 架构进行设计,因此 Struts 2 本质上并不是一个 REST 框架。由于 Struts 2 提供了良好的可扩展性,因此允许通过 REST 插件将其扩展成支持 REST 的...
在这个"RESTful-Struts2-2.3.15_JARs"的压缩包中,包含的是Struts2框架整合RESTful特性的所有必要JAR文件,特别针对的是2.3.15这个版本。 首先,我们来深入理解RESTful架构风格。REST(Representational State ...
在"struct2-restful-Demo"项目中,我们可以看到如何将Struts2框架与RESTful原则相结合来构建一个示例应用。这个压缩包可能包含了以下关键组件: 1. **Action类**:Struts2的核心是Action类,它们是业务逻辑的载体。...
由于老项目用的struts2,需要扩展支持restful访问接口,前提是不要破坏原系统struts的访问方式。网上查了好多方法,都很麻烦。最后使用了最简单也是最有效的方法,解决了大问题。在此提供给大家参考,希望对大家有...
在这个"Struts2+rest简单实例"中,开发者创建了一个小型的示例应用,目的是帮助初学者快速理解如何在Struts2框架中集成RESTful服务。以下是这个实例中可能涉及的关键知识点: 1. **Struts2框架基础**:Struts2的...
通过Struts2的REST插件,我们可以轻松地在Struts2应用中实现RESTful服务。这个插件允许开发者使用Struts2的Action和Result机制来创建REST服务,同时保留Struts2的强类型验证和拦截器等功能。 集成Struts2 REST插件...
本入门实例是一个集成了REST、Struts2.0、Hibernate和Spring的可运行项目,旨在帮助初学者快速理解RESTful API的开发与应用。 1. REST概念: REST代表表述性状态转移(Representational State Transfer),它强调...
Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web...
本示例是关于如何使用C#语言创建一个简单的RESTful服务端以及对应的RESTful客户端。以下是相关知识点的详细说明: 1. **RESTful原则**:REST(Representational State Transfer)的核心思想是资源(Resource)和...
**谷歌浏览器RESTful请求插件** 谷歌浏览器RESTful请求插件是开发人员在进行Web API测试、调试和接口文档编写时的重要工具。它允许用户直接在浏览器中发起HTTP请求,包括GET、POST、PUT、DELETE等RESTful操作,极大...
如果涉及到Android,可能需要了解RESTful API设计、JSON数据交换格式等知识。 总的来说,"struts2小程序"是一个基于Struts2框架构建的小型Web应用,展示了如何使用Struts2进行MVC开发。通过分析源代码,可以深入...
### RESTful接口文档模板知识点解析 #### 一、RESTful接口概述 REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,可以使用XML或者JSON格式传输数据,一般用于...