由于工作需要,研究了一下Rest.
1.创建web应用,加入如下jar包。
2.创建Student实体
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="student") public class Student { private int id; private String name; public Student(){}
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
@Override public String toString() { return "Student [id=" + id + ", name=" + name + "]"; }
|
3.创建Resource
import java.util.Iterator;
import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces;
import org.codehaus.jackson.map.deser.FromStringDeserializer; import org.restlet.data.Form; import org.restlet.data.Parameter; import org.restlet.representation.Representation;
@Path("student") public class StudentResource { @GET @Path("{id}/xml") @Produces("application/xml") public Student getStudentXml(@PathParam("id") int id) {
//路径为http://localhost:8085/student/1/xml return ResourceServer.getDefaultStudent(); } @GET @Path("{id}/json") @Produces("application/json") public Student getStudentJson(@PathParam("id") int id) {
//路径为http://localhost:8085/student/1/json return ResourceServer.findStudent(id); } @GET @Path("delete/{name}") public void delete(@PathParam("name") String name){
//路径为http://localhost:8085/student/delete/小王 System.out.println("和数据库交互,删除name 为"+name +"的student"); } @POST @Path("update") public void update(Representation data){ //form表单通过Post将数据传过来。路径为http://localhost:8085/student/update/+form数据 Form form =new Form(data); Iterator<Parameter> it =form.iterator(); Student stu =new Student(); while(it .hasNext()){ Parameter p =it.next(); String key =p.getName(); String val =p.getValue(); if("id".equals(key)){ stu.setId(Integer.parseInt(val)); }else if("name".equals(key)) { stu.setName(val); } } // 将student加入到数据库。 }
}
|
4 .创建Application
public class StudentApplication extends Application {
@Override public Set<Class<?>> getClasses() { Set<Class<?>> rrcs = new HashSet<Class<?>>(); rrcs.add(StudentResource.class); return rrcs; } }
|
5 创建Server 类,该类启动rest服务。
public class Server { public static void main(String[] args) throws Exception { Component component = new Component(); component.getServers().add(Protocol.HTTP, 8085); component.getDefaultHost().attach(new StudentApplication (new Context())); component.start(); } } |
启动该类,rest服务就被绑定在了8085端口。
<!--StartFragment -->
http://localhost:8085/student/1/json
其他功能以此类推。
实例项目提供下载。
相关推荐
### OpenStack培训视频实战演练及开发入门知识点概览 #### 一、OpenStack概述 - **定义**:OpenStack是一款开源的云计算管理平台项目,它提供了实施和运行大规模计算基础设施所需的全部软件,支持几乎所有的公有...
【标题】:“SpringBoot+Mybatis+Restful Demo”整合详解 在当今的Web开发领域,Spring Boot、Mybatis和Restful API已经成为构建高效...此外,此项目还适用于教学和实战演练,帮助初学者快速掌握现代Web开发的技术栈。
本课程主要围绕“Node.js+Express+Mongoose”这一技术栈,通过构建一个完整的车展项目,带领学习者从基础入门到实战演练,深入理解和掌握Web开发中的关键技能。以下是相关知识点的详细介绍: **Node.js**: Node.js...
八、实战演练 在"Spring快速入门教程.pdf"中,你将深入学习如何创建第一个Spring项目,配置Bean,使用AOP,搭建Spring MVC应用,以及如何整合Spring Boot和Spring Cloud。通过实际操作,你会对Spring有更直观的理解...
8. **案例分析与实践**:提供实际项目案例,让读者通过实战演练掌握ArcGIS+Server开发的全过程,可能涉及智慧城市、自然资源管理等领域的应用。 9. **扩展与集成**:介绍与其他系统的集成,如与数据库(如Oracle、...
8. **实战演练** "EJB3[1].0.pdf"很可能包含了EJB3.0的实战教程,可能涵盖了创建Bean、部署、测试等方面,帮助初学者快速上手。 学习EJB3.0不仅需要理解其基本概念,还要通过实际项目来锻炼,才能真正掌握其精髓。...
7. **实战演练** - 创建一个简单的业务流程,如请假申请 - 实现审批流程,包括表单提交、状态更新、邮件通知等 - 测试和调试技巧 8. **部署与运维** - 配置生产环境,包括服务器配置和性能优化 - 使用Docker...
- 实战演练:通过实际项目了解模块化编程的重要性。 7. **面向对象编程(OOP)** - OOP的基本概念:类与对象、继承、封装、多态。 - 类的定义方法:属性、方法。 - 继承与多态性的实现方式。 - 封装性提高代码...
总之,ASP.NET是一个强大且功能丰富的Web开发平台,从基础语法到高级特性,从理论学习到实战演练,这个压缩包"asp.net从入门到实践.rar"应该能为你提供一条完整的学习路径。通过深入研究和实践,你将能够构建出高效...
《C#入门经典 第6版 2012》是一本专门为初学者设计的C#编程教程,旨在帮助读者从零开始逐步掌握C#语言的基础和高级特性。这本书结合了理论与实践,...这不仅是一次理论学习的旅程,更是一次提升编程技能的实战演练。
实战演练部分会更加深入,包括如何使用web.py搭建后端环境,如何将Backbone.js与webpy结合,以及如何在实战项目中实现前后端分离的Web聊天室。这部分会涵盖从功能分析到详细设计,再到服务端和前端的开发等方方面面...
六、实战演练 通过实践项目,例如创建一个简单的CRUD应用,连接数据库,实现增删改查功能,再逐步添加安全控制、邮件服务、定时任务等,将理论知识转化为实际操作经验。 七、持续学习与进阶 随着对SpringBoot的深入...
#### 实战演练 1. **创建项目**:启动 Visual Studio 并选择“ASP.NET MVC4”模板。 2. **添加控制器和视图**:使用“Add Controller”向导创建控制器类和关联视图。 3. **布局和样式**:自定义布局文件 `_Layout....
4. **实战演练** 资料中可能还包括一些实际项目案例,如使用Spring进行RESTful API开发、集成MyBatis进行持久层操作、使用Spring Security进行权限管理等。这些实战项目有助于巩固理论知识,提升开发技能。 5. **...
6. **实战演练** - 构建RESTful API:使用Go语言设计和实现一个简单的RESTful API服务。 - 高并发服务器:编写一个能处理大量并发请求的HTTP服务器。 - 数据库操作:连接并操作MySQL、MongoDB等数据库,实现CRUD...
通过这个项目,学习者能实战演练Python编程,同时了解CRM系统的工作原理,提升业务解决方案的设计能力。 "13.路飞学城.py"和"14.路飞学城总结.py"这两份文件,可能是某个在线教育平台——路飞学城的教学代码和总结...
综合案例通常会是一个实际的小项目,可能涵盖电商网站、博客系统或者简单的管理系统,它将帮助你把学到的知识点串联起来,实战演练,提升解决实际问题的能力。 通过这个"asp.net光盘"的学习,你可以掌握ASP.NET的...
7. **实战演练**:在"spring-cloud.zip"的示例中,我们可以看到如何将这些组件集成到Spring Boot应用中,包括配置文件的编写、启动类的增强、接口的调用等。通过实际操作,我们可以更好地理解和掌握微服务的开发流程...