Spring Roo 3 实例训练[同时使用Javascript库dojo和jQuery并使用Rest服务]
前两篇讲解了ROO的一些基本知识,这篇来个实例看看整个的开发过程。
首先进入roo命令行,执行如下的脚本[建工程和必要的设置]
project --topLevelPackage lesson
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
web mvc setup
security setup
entity --class ~.domain.Pet
field string --fieldName name
json add --class ~.domain.Pet
controller scaffold --class ~.web.PetController --entity ~.domain.Pet
建立一个起始框架
使用mvn tomcat:run可以在浏览器http://localhost:8080/lesson/ 查看默认的界面,已经可以进行增删改了
同时JSON服务也可以访问
http://localhost:8080/lesson/pets?form 加入一个记录
然后模仿JSON的访问
$ curl -i -H "Accept: application/json" http://localhost:8080/lesson/pets
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/text;charset=utf-8
Content-Length: 35
Date: Wed, 12 Oct 2011 06:03:15 GMT
[{"id":1,"name":"dog","version":0}]
增加的步骤:
添加jquery资源
lesson\src\main\webapp\scripts 放入jquery和easyui库和css等
配置apache tiles的布局
lesson\src\main\webapp\WEB-INF\layouts 放入jdefault.jspx ,layouts.xml修改
实现jquery等母板资源的加载
lesson\src\main\webapp\WEB-INF\tags\util 放入jload-scripts.tagx
具体的部分母板页实现页面
lesson\src\main\webapp\WEB-INF\views 放入
jheader.jspx
jindex.jspx
jfooter.jspx
work.jspx
同时修改views.xml
导航
webmvc-config.xml 加入<mvc:view-controller path="/main" view-name="main"/>
<mvc:view-controller path="/work" view-name="work"/>
其中的登录逻辑使用Spring Security,并修改为json服务的步骤:
登录服务LoginController
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> login(@RequestParam("j_username") String username,
@RequestParam("j_password") String password) {
LoginStatus s = loginService.login(username, password);
return new ResponseEntity<String>(s.toJson(), headers, HttpStatus.OK);
}
客户端界面
$.ajax({url: "${req}/api/login",
type: "POST",
dataType:"json",
beforeSend: function(xhr) {
xhr.withCredentials = true;
},
data: $("#loginForm").serialize(),
success: loginSucess,
error: loginFailed
});
详细代码参考:
https://skydrive.live.com/?cid=56b433ad3d1871e3&sc=documents&uc=1&id=56B433AD3D1871E3%21274#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2010-10-25 WCF Data Service与net.tcp承载分析
2010-10-25 WCF Data Services实例:ASP.net AJAX访问