`
thd52java
  • 浏览: 72073 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Restful入门实战演练

    博客分类:
  • web
 
阅读更多

由于工作需要,研究了一下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

 

 

其他功能以此类推。

实例项目提供下载。

  • 大小: 36.5 KB
  • 大小: 31 KB
  • rd.rar (2.8 MB)
  • 下载次数: 26
  • 大小: 36.8 KB
2
0
分享到:
评论

相关推荐

    Openstack 培训视频 实战演练

    ### OpenStack培训视频实战演练及开发入门知识点概览 #### 一、OpenStack概述 - **定义**:OpenStack是一款开源的云计算管理平台项目,它提供了实施和运行大规模计算基础设施所需的全部软件,支持几乎所有的公有...

    springboot+mybatis+restful demo

    【标题】:“SpringBoot+Mybatis+Restful Demo”整合详解 在当今的Web开发领域,Spring Boot、Mybatis和Restful API已经成为构建高效...此外,此项目还适用于教学和实战演练,帮助初学者快速掌握现代Web开发的技术栈。

    Node+Express+Mongoose车展项目入门到实战课件、笔记、资料、代码及数据库.zip

    本课程主要围绕“Node.js+Express+Mongoose”这一技术栈,通过构建一个完整的车展项目,带领学习者从基础入门到实战演练,深入理解和掌握Web开发中的关键技能。以下是相关知识点的详细介绍: **Node.js**: Node.js...

    spring快速入门教程

    八、实战演练 在"Spring快速入门教程.pdf"中,你将深入学习如何创建第一个Spring项目,配置Bean,使用AOP,搭建Spring MVC应用,以及如何整合Spring Boot和Spring Cloud。通过实际操作,你会对Spring有更直观的理解...

    arcgis+server开发从入门到精通电子档

    8. **案例分析与实践**:提供实际项目案例,让读者通过实战演练掌握ArcGIS+Server开发的全过程,可能涉及智慧城市、自然资源管理等领域的应用。 9. **扩展与集成**:介绍与其他系统的集成,如与数据库(如Oracle、...

    EJB3学习入门.zip

    8. **实战演练** "EJB3[1].0.pdf"很可能包含了EJB3.0的实战教程,可能涵盖了创建Bean、部署、测试等方面,帮助初学者快速上手。 学习EJB3.0不仅需要理解其基本概念,还要通过实际项目来锻炼,才能真正掌握其精髓。...

    OBA开发系列课程(2):OBA开发入门

    7. **实战演练** - 创建一个简单的业务流程,如请假申请 - 实现审批流程,包括表单提交、状态更新、邮件通知等 - 测试和调试技巧 8. **部署与运维** - 配置生产环境,包括服务器配置和性能优化 - 使用Docker...

    python 入门到精通 下载视频

    - 实战演练:通过实际项目了解模块化编程的重要性。 7. **面向对象编程(OOP)** - OOP的基本概念:类与对象、继承、封装、多态。 - 类的定义方法:属性、方法。 - 继承与多态性的实现方式。 - 封装性提高代码...

    asp.net从入门到实践.rar

    总之,ASP.NET是一个强大且功能丰富的Web开发平台,从基础语法到高级特性,从理论学习到实战演练,这个压缩包"asp.net从入门到实践.rar"应该能为你提供一条完整的学习路径。通过深入研究和实践,你将能够构建出高效...

    C#入门经典 第6版 2012电子书及代码

    《C#入门经典 第6版 2012》是一本专门为初学者设计的C#编程教程,旨在帮助读者从零开始逐步掌握C#语言的基础和高级特性。这本书结合了理论与实践,...这不仅是一次理论学习的旅程,更是一次提升编程技能的实战演练。

    Backbonejs入门教程 第二版

    实战演练部分会更加深入,包括如何使用web.py搭建后端环境,如何将Backbone.js与webpy结合,以及如何在实战项目中实现前后端分离的Web聊天室。这部分会涵盖从功能分析到详细设计,再到服务端和前端的开发等方方面面...

    springboot-最全的入门教程&源码.zip

    六、实战演练 通过实践项目,例如创建一个简单的CRUD应用,连接数据库,实现增删改查功能,再逐步添加安全控制、邮件服务、定时任务等,将理论知识转化为实际操作经验。 七、持续学习与进阶 随着对SpringBoot的深入...

    Visual Studio ASP.net MVC4 入门

    #### 实战演练 1. **创建项目**:启动 Visual Studio 并选择“ASP.NET MVC4”模板。 2. **添加控制器和视图**:使用“Add Controller”向导创建控制器类和关联视图。 3. **布局和样式**:自定义布局文件 `_Layout....

    spring学习资料

    4. **实战演练** 资料中可能还包括一些实际项目案例,如使用Spring进行RESTful API开发、集成MyBatis进行持久层操作、使用Spring Security进行权限管理等。这些实战项目有助于巩固理论知识,提升开发技能。 5. **...

    Go快速入门强化

    6. **实战演练** - 构建RESTful API:使用Go语言设计和实现一个简单的RESTful API服务。 - 高并发服务器:编写一个能处理大量并发请求的HTTP服务器。 - 数据库操作:连接并操作MySQL、MongoDB等数据库,实现CRUD...

    s13就业复习.zip

    通过这个项目,学习者能实战演练Python编程,同时了解CRM系统的工作原理,提升业务解决方案的设计能力。 "13.路飞学城.py"和"14.路飞学城总结.py"这两份文件,可能是某个在线教育平台——路飞学城的教学代码和总结...

    asp.net光盘

    综合案例通常会是一个实际的小项目,可能涵盖电商网站、博客系统或者简单的管理系统,它将帮助你把学到的知识点串联起来,实战演练,提升解决实际问题的能力。 通过这个"asp.net光盘"的学习,你可以掌握ASP.NET的...

    spring-cloud.zip

    7. **实战演练**:在"spring-cloud.zip"的示例中,我们可以看到如何将这些组件集成到Spring Boot应用中,包括配置文件的编写、启动类的增强、接口的调用等。通过实际操作,我们可以更好地理解和掌握微服务的开发流程...

Global site tag (gtag.js) - Google Analytics