介绍一下环境:

首先需要下载一个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. 使用Redirector插件解决googleapis公共库加载的问题

    最近访问一些面向国外的网站总是会出现ajax.googleaips.com无法加载的情况.以下为加载stackoverflow时的情境: 图1 -无法加载的google公共库 问题的原因是谷歌没有在国 ...

  2. linux===linux在线模拟器汇总

    jslinux: http://bellard.org/jslinux/ 一个叫Fabrice Bellard的工程师使用 JavaScript 在浏览器上模拟出了一个 Linux 系统.没有图形化界 ...

  3. 用js和jQuery做轮播图

    Javascript或jQuery做轮播图 css样式 <style> a{ text-decoration:none; } .naver{ width: 100%; position:r ...

  4. HTML布局相关的CSS样式属性

    # 转载请留言联系 注意,样式属性是写进CSS里面的. 布局常用样式属性: width 设置元素(标签)的宽度,如:width:100px; height 设置元素(标签)的高度,如:height:2 ...

  5. jquery请求格式和返回类型 汇总

    常规请求基本格式 1 [WebMethod] 2 public string SayHello(string name) 3 { 4 return "Hello " + name; ...

  6. 网站js埋点

    js埋点 1.埋点作用:  页面埋点的作用:其实就是用于流量分析.而流量的意思,包含了很多:页面浏览数(PV).独立访问者数量(UV).IP.页面停留时间.页面操作时间.页面访问次数.按钮点击次数.文 ...

  7. lucene 排序

    (1)排序对一个文档里什么域都没存储,使用字符串排序会排在首位 (2)排序对一个文档里什么域都没存储,使用数字类型排序会默认给其赋值为0进行排序 (3)我们可以对数字类型的null值的文档进行代码控制 ...

  8. Git命令使用指南

    继续git相关的东西,网上很多讲解的,但是还是喜欢这个图:(爱屋及乌,当然内容也很好,文章链接:http://me.iblogc.com/2015/01/16/Git命令使用指南/) Git是软件开发 ...

  9. HDU 1018 Big Number(数论,Stirling公式)

    1. 利用数学公式lg(n!)=lg(2)+lg(3)+....+lg(n) 求解 2.

  10. hdu6231

    hdu6231 题意 给出一些数字,对于任意长度不小于 \(k\) 的区间,把第 \(k\) 大数加入到一个新的数组 \(B\) 中,求 \(B\) 数组第 \(m\) 大数. 分析 二分答案 \(x ...