介绍一下环境:

首先需要下载一个jaxrs-ri-2.22.2.zip的包

采用Jdeveloper 12c版本,jdk1.8

WebLogic Server 12.2.1版本

Restful项目建立

在Jdeveloper 12c中建立一个项目,先建立一个application.

建立一个项目.

在项目中建立一个person的类,在建立一个personService类.

代码如下:

Person.java

package restfulproject;

import java.util.Date;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Person {

private Long id;
private String firstname;
private String lastname;
private Date hiredate;
private Long addressId;

public Person() {
super();
}

public void setId(Long id) {
this.id = id;
}

public Long getId() {
return id;
}

public void setFirstname(String firstname) {
this.firstname = firstname;
}

public String getFirstname() {
return firstname;
}

public void setLastname(String lastname) {
this.lastname = lastname;
}

public String getLastname() {
return lastname;
}

public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}

public Date getHiredate() {
return hiredate;
}

public void setAddressId(Long addressId) {
this.addressId = addressId;
}

public Long getAddressId() {
return addressId;
}
}

PersonService

import java.util.ArrayList;
import java.util.Date;import java.util.List;
public class PersonService {

private List<Person> persons;
    private Person person;

public PersonService() {
        super();
        this.persons = new ArrayList<Person>();
        for (long i = 0; i < 10; i++) {
            Person p = new Person();
            p.setId(i);
            p.setFirstname("Firstname " + i);
            p.setLastname("Last " + i);
            p.setHiredate(new Date());
            this.persons.add(p);
        }
        this.person = this.persons.get(0);
    }

 
    public List<Person> getPersons(){
        return this.persons;
    }
 
    public void addPerson(Person person) {
        System.out.println("add person " + person);

if(person != null){
            getPersons().add(person);
        }
    }    public Person getPerson(){
        return person;
    }
}

生成restful Service.

选择consume和product支持的格式

修改代码最后变成:

package restfulproject;

import java.util.ArrayList;
import java.util.Date;import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.PathParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("restfulproject")
@Consumes(value = { "application/json", "application/xml" })
@Produces(value = { "application/json", "application/xml" })
public class PersonService {

private List<Person> persons;
private Person person;

public PersonService() {
super();
this.persons = new ArrayList<Person>();
for (long i = 0; i < 10; i++) {
Person p = new Person();
p.setId(i);
p.setFirstname("Firstname " + i);
p.setLastname("Last " + i);
p.setHiredate(new Date());
this.persons.add(p);
}
this.person = this.persons.get(0);
}

@GET
@Path("/Persons")
public List<Person> getPersons(){
return this.persons;
}

@POST
@Path("/person")

@Consumes(MediaType.APPLICATION_JSON)

public void addPerson(Person person) {

if(person != null){
System.out.println("Enter====");
System.out.println(persons.size());
System.out.println(person.getFirstname());

this.persons.add(person);
System.out.println(persons.size());
System.out.println("Over====");

}

}

@GET
@Path("/person/{userid}")
public Person getPerson(@PathParam("userid") int userid){
List<Person> personlist = this.getPersons();
for(Person user: personlist){
if(user.getId() == userid){
return user;
}
}
return null;
}
}

同时web.xml也加入了内容

<?xml version = '1.0' encoding = 'GBK'?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<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>/rest/*</url-pattern>
</servlet-mapping>
</web-app>

部署

生成部署profile.

选择生成War包

然后部署.

测试

在WebLogic管理控制台上找到部署的url

然后找到WADL地址

通过SOAPUI生成WADL项目,然后运行测试Perons,获取所有的person信息

如果需要得到xml,需要在head中加入Accept=application/xml

getperson/{userid}的测试界面

添加用户

Restful Web Service部署到weblogic 12c的更多相关文章

  1. Building a RESTful Web Service Using Spring Boot In Eclipse

    一.构建restful web service 创建Maven的java web工程,maven的pom文件加入依赖包 创建包hello Greeting.java package hello; pu ...

  2. Apache CXF实现Web Service(4)——Tomcat容器和Spring实现JAX-RS(RESTful) web service

    准备 我们仍然使用 Apache CXF实现Web Service(2)——不借助重量级Web容器和Spring实现一个纯的JAX-RS(RESTful) web service 中的代码作为基础,并 ...

  3. 【转】Spring 4.x实现Restful web service

    http://my.oschina.net/yuyidi/blog/352909 首先我们还是跟之前一样,创建一个maven项目,不过因为Spring Restful web service是基于Sp ...

  4. 构建一个基于 Spring 的 RESTful Web Service

    本文详细介绍了基于Spring创建一个“hello world” RESTful web service工程的步骤. 目标 构建一个service,接收如下HTTP GET请求: http://loc ...

  5. 在GlassFish应用服务器上创建并运行你的第一个Restful Web Service【翻译】

    前言 本人一直开发Android应用,目前Android就业形势恶劣,甚至会一路下滑,因此决定学习服务器开发.采用的语言是java,IDE是Intellij,在下载Intellij的同时看到官网很多优 ...

  6. Java Restful Web Service 学习指南

    Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...

  7. 译:3.消费一个RESTful Web Service

    这节课我们根据官网教程学习如何去消费(调用)一个 RESTful Web Service . 原文链接 https://spring.io/guides/gs/consuming-rest/ 本指南将 ...

  8. 如何使用 JMeter 调用你的 Restful Web Service?进行简单的压力测试和自动化测试

    表述性状态传输(REST)作为对基于 SOAP 和 Web 服务描述语言(WSDL)的 Web 服务的简单替代,在 Web 开发上得到了广泛的接受.能够充分证明这点的是主流 Web 2.0 服务提供商 ...

  9. RESTful Web Service实战 小结1

    1 REST的基本实现形式HTTP+URI+XML,但不是唯一形式.XML后来被Json格式替代.REST是一中架构风格(Representational State Transfer,表述性状态转移 ...

随机推荐

  1. bzoj 1041 数学推理

    原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1041 我们只需要求第一象限内(不包括坐标轴)的点数然后ans=ans*4+4就好了 首先我 ...

  2. 用java实现word转html

    由于项目需要,要完成将上传的word文件转成html文件的功能.在网上搜了一下,大致有3种方法:1.用jacob实现 2.用poi实现 3.用openoffice实现. 从网上来看好像jacob用的人 ...

  3. Chrome扩展及应用开发

    Chrome扩展及应用开发(电子书) http://www.ituring.com.cn/minibook/950 文档 官方 https://developer.chrome.com/extensi ...

  4. [ 总结 ] RHEL6/Centos6 使用OpenLDAP集中管理用户帐号

    使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提供数据的一致性.

  5. fullpage.js jq全屏滚动插件

    fullPage.js和fullPage都能实现全屏滚动,二者区别是:fullPage.js需依赖于JQuery库,而fullPage不需要依赖任何一个js库,可以单独使用. (代码演示效果并且可以下 ...

  6. linux awk学习笔记

    awk学习笔记 awk语法格式 awk '{pattern + action}' {filenames} awk作用 awk的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后 ...

  7. Swagger 2.0 摘要

    官网地址:http://springfox.github.io/springfox/docs/current/

  8. (十一)数组array

    变量:只能存一个值,数组可以存多个值 (1)普通数组,索引下标是整数: 1)定义: 方法一:一次赋一个值:语法:数组名[下标]=变量值 array[1]=linux array[2]=shell 方法 ...

  9. 百度之星资格赛 2016 Problem 1004

    本文链接:http://www.cnblogs.com/Ash-ly/p/5494630.html 题意: 熊所居住的 D 国,是一个完全尊重人权的国度.以至于这个国家的所有人命名自己的名字都非常奇怪 ...

  10. golang笔记:net/smtp

    跟go语言的net/smtp斗争了一天,记录下历程.   先用最标准的例子 host := net.JoinHostPort(hostname, port) auth := smtp.PlainAut ...