1 logic

package com.toic.rest;

import com.toic.model.Folder;

import java.util.logging.Logger;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response; @Path("/folders")
public class RESTService { private Logger logger = Logger.getLogger(RESTService.class.getName()); public RESTService() {
super();
}
// 这个 成功 http://localhost:7001/RESTfull001/folders/sayhello/li
@GET
@Path("sayhello/{name}")
@Produces("text/plain")
public String removeStudent(@PathParam("name") String name) {
String say = name + " said hello!";
return say;
} //http://localhost:7001/RESTfull001/folders/guid/000234
@GET
@Path("/guid/{folderguid}")
//@Produces({MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public Folder getFoldersByGUID(@PathParam("folderguid") String folderguid) { // 第一种
Folder folder = Folder.makeFolders(); if(!folderguid.equals("")){ for(int i=;i<folder.getChildFolders().size();i++){ if(((Folder)folder.getChildFolders().get(i)).getFolderGUID().equals(folderguid)){ folder=(Folder)folder.getChildFolders().get(i);
} } }
return folder; // 第二种
// Folder rootFolder = new Folder();
// rootFolder.setFolderName("Root Folder");
// rootFolder.setOwner("juan");
// rootFolder.setFolderGUID("000234");
// rootFolder.setFolderType("NATIVE");
// return rootFolder; ////return Response.status(Response.Status.OK).entity(folder).build();
} public static void main(String s[]){
System.out.println(new RESTService().getFoldersByGUID("") );
//调用方法 //或者在浏览器输入URL http://localhost:7001/RESTfull001/folders/guid/000234 //或者下面在java代码中调用

/////////////////////////////////////////////////////////
// //需要导入下面的lib中jar Oracle\Middleware\Oracle_Home\wlserver\server\lib
// System.out.println("**** ****");
// Client client = ClientBuilder.newClient().register(JacksonJsonProvider.class);// 注册json 支持
// WebTarget target = client.target(url + "/guid/000234");
// Response response = target.request().get();
// Folder folder = response.readEntity(Folder.class);
// System.out.println(folder.getFolderName()+" "+folder.getFolderGUID()+" "+folder.getFolderType()+" "+folder.getOwner());
// response.close();
//
// //打印
// //**** ****
// // Root Folder 000234 NATIVE juan
/////////////////////////////////////////////////////////

//或者如下调用

//com.sun.jersey.api.client.Client client = com.sun.jersey.api.client.Client .create();

//Folder folder =client.resource(url + "/guid/" + "200234").accept(MediaType.APPLICATION_XML_TYPE).get(Folder.class);

//System.out.println(folder.getFolderGUID()+" "+folder.getFolderName()+" "+folder.getFolderType()+" "+folder.getOwner());
//200234 Folder2 NATIVE xiaolu


 
}
}

2  model

package com.toic.model;

import java.util.ArrayList;
import java.util.List; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement
public class Folder { private String folderName; private String owner; private String folderGUID; private String folderType; private List childFolders = new ArrayList(); public Folder() {
super();
}
public String getFolderName() {
return folderName;
}
public void setFolderName(String folderName) {
this.folderName = folderName;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public String getFolderGUID() {
return folderGUID;
}
public void setFolderGUID(String folderGUID) {
this.folderGUID = folderGUID;
}
public String getFolderType() {
return folderType;
}
public void setFolderType(String folderType) {
this.folderType = folderType;
}
public List getChildFolders() {
return childFolders;
}
public void addChildFolder(Folder childFolder) {
this.childFolders.add(childFolder);
} public static Folder makeFolders() { Folder rootFolder = new Folder();
rootFolder.setFolderName("Root Folder");
rootFolder.setOwner("juan");
rootFolder.setFolderGUID("");
rootFolder.setFolderType("NATIVE"); Folder childFolder1 = new Folder(); childFolder1.setFolderName("Folder1");
childFolder1.setOwner("yang");
childFolder1.setFolderGUID("");
childFolder1.setFolderType("NATIVE"); Folder childFolder2 = new Folder(); childFolder2.setFolderName("Folder2");
childFolder2.setOwner("xiaolu");
childFolder2.setFolderGUID("");
childFolder2.setFolderType("NATIVE"); rootFolder.addChildFolder(childFolder1); rootFolder.addChildFolder(childFolder2); return rootFolder;
}
}

3 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>oracle.eclipse.tools.jsffacet</display-name> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <servlet>
<servlet-name>jersey</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey</servlet-name>
<url-pattern>*</url-pattern>
</servlet-mapping>
</web-app>

用jersey写 java restfull web services 输出xml格式数据的更多相关文章

  1. yii2 输出xml格式数据

    作者:白狼 出处:http://www.manks.top/yii2_xml_response.html.html本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文 ...

  2. Android使用DOM生成和输出XML格式数据

    Android使用DOM生成和输出XML格式数据 本文主要简单解说怎样使用DOM生成和输出XML数据. 1. 生成和输出XML数据 代码及凝视例如以下: try { DocumentBuilderFa ...

  3. 写文件的工具类,输出有格式的文件(txt、json/csv)

    import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io. ...

  4. 《Using Python to Access Web Data》 Week5 Web Services and XML 课堂笔记

    Coursera课程<Using Python to Access Web Data> 密歇根大学 Week5 Web Services and XML 13.1 Data on the ...

  5. WCF兼容WebAPI输出Json格式数据,从此WCF一举两得

    问题起源: 很多时候为了业务层调用(后台代码),一些公共服务就独立成了WCF,使用起来非常方便,添加服务引用,然后简单配置就可以调用了. 如果这个时候Web站点页面需要调用怎么办呢? 复杂的XML , ...

  6. 在JSP页面中输出JSON格式数据

    JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...

  7. iis设置默认文档,提示web.config配置xml格式不正确

    网站上传后,配置默认文档,提示web.config配置xml格式不正确,几经尝试,发现是sqlserver密码中的“&”符号惹的祸,web.config文件中不能使用该字符.分享出来,大家遇到 ...

  8. Web Services 中XML、SOAP和WSDL的一些必要知识

    Web Services 是由xml来定义数据格式的,通过SOAP协议在各个系统平台中传输,那么接下来讨论下SOAP和WSDL的各自作用. SOAP和WSDL对Web Service.WCF进行深入了 ...

  9. PHP、Java输出json格式数据

      PHP 输出json. $result = mysql_query($sql); //查询结果 $users=array(); $i=0; while($row=mysql_fetch_array ...

随机推荐

  1. hadoop MR 任务 报错 &quot;Error: java.io.IOException: Premature EOF from inputStream at org.apache.hadoop.io&quot;

    错误原文分析 文件操作超租期,实际上就是data stream操作过程中文件被删掉了.一般是由于Mapred多个task操作同一个文件.一个task完毕后删掉文件导致. 这个错误跟dfs.datano ...

  2. CSS元素选择器 element selector(type selector)

    http://www.w3school.com.cn/css/css_selector_type.asp 元素选择器 最常见的 CSS 选择器是元素选择器.换句话说,文档的元素就是最基本的选择器. 如 ...

  3. C++ new 的用法

    原文链接:http://www.builder.com.cn/2008/0104/696370.shtml “new”是C++的一个关键字,同时也是操作符.关于new的话题非常多,因为它确实比较复杂, ...

  4. DOM操作系列-01

    ]常见事件: //onclick     点击时触发事件. //ondblclick    双击时触发事件. //onkeydown   按键按下 //onkeypress   点击按键 //onke ...

  5. 参考《利用Python进行数据分析(第二版)》高清中文PDF+高清英文PDF+源代码

    第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas.NumPy.IPython和Jupyter,并增加大量实际案例,可以帮助高效解决一系列数据分析问题. 第2版中的主要更新了Py ...

  6. python程序转exe程序之一——cx_Freeze

    原始网页 : http://keliang.blog.51cto.com/3359430/661884 本人用的64位系统,一开始装了32位的cx_freeze,结果貌似无法自动找到本地的python ...

  7. 洛谷 P3913 车的攻击

    P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi​行,第C_iCi​ 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...

  8. vector与deque的区别

    最重要的区别,是内部实现上.deque是分段存储的. 都是支持随机存取. http://www.cnblogs.com/zhuyf87/archive/2012/12/09/2809896.html ...

  9. ZOJ 2562 HDU 4228 反素数

    反素数: 对于不论什么正整数x,起约数的个数记做g(x).比如g(1)=1,g(6)=4. 假设某个正整数x满足:对于随意i(0<i<x),都有g(i)<g(x),则称x为反素数. ...

  10. CentOS 7.0yum安装MySQL

    CentOS 7.0yum安装MySQL 1.下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noar ...