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. Ubuntu下安装git工具

    环境:Ubuntu 9.10 git-1.8.2.3.tar.bz2 1.将安装包下载到所选文件夹下,如:/tmp 2.tar -xjf git-1.8.2.3.tar.bz2 3.cd git-1. ...

  2. WAS集群系列(5):集群搭建:步骤3:安装IHS软件

    选择"安装IBM HTTPServer"选项,点击"安装向导".例如以下图提示: 安装提示,逐步点击"下一步",当中偶有几处细节注意就可以. ...

  3. vue17 $watch 监听数据变化

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. PasswordHelper 对user对象的password进行加密重设

    public class PasswordHelper { private RandomNumberGenerator randomNumberGenerator = new SecureRandom ...

  5. POJ 3265 DP

    思路: f[i][j]表示前i天能做j道题 (是做 不是做完) if(f[i-1][k]) if(suma[j]-suma[k]+g[i-1][k]<=n) f[i][j]=1,g[i][j]= ...

  6. Coderfroces 862 C. Mahmoud and Ehab and the xor

    C. Mahmoud and Ehab and the xor Mahmoud and Ehab are on the third stage of their adventures now. As ...

  7. 清空/var/adm/wtmp 文件内容

    清/var/adm/wtmp 文件内容 用于显示登录系统和重启机器的情况 /var/adm/wtmp文件过大. 可用du -sm /var/adm/wtmp查看 cat /dev/null>/v ...

  8. ES6学习笔记(五)函数的扩展

    1.函数参数的默认值 1.1基本用法 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console. ...

  9. 【 正确使用vim编辑器的姿势】

    vi:可视化接口(Visual Interface) vim:是vi的增强版(vi iMprove) vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样 ...

  10. java中锁的理解

    在并发编程中,经常遇到多个线程访问同一个 共享资源 ,这时候作为开发者必须考虑如何维护数据一致性,在java中synchronized关键字被常用于维护数据一致性.synchronized机制是给共享 ...