之前已经学习过 利用JAX-RS快速开发RESTful 服务,当时是jboss环境,如果原封不动的迁移到weblogic 10.x 版本,会杯具的发现应用启动失败,需要做些小调整:

项目结构如下:

需要在原来的Rest Service(本文中是MyService.java)外,再包装一层,创建一个Application的子类,本例中是 MyApplication.java,代码如下:

 1 package yjmyzz.service;
 2
 3 import java.util.HashSet;
 4 import java.util.Set;
 5
 6 import javax.ws.rs.ApplicationPath;
 7 import javax.ws.rs.core.Application;
 8
 9
10 import yjmyzz.service.rest.MyService;
11
12 @ApplicationPath("/rest")
13 public class MyApplication extends Application {
14
15     public Set<Class<?>> getClasses() {
16         Set<Class<?>> s = new HashSet<Class<?>>();
17         s.add(MyService.class);
18
19         return s;
20     }
21 }

MyApplication

MyService.java的内容如下:(这与在jboss环境中的代码完全相同)

 1 package yjmyzz.service.rest;
 2
 3 import javax.ws.rs.GET;
 4
 5 import javax.ws.rs.Path;
 6
 7 import javax.ws.rs.Produces;
 8
 9 import javax.ws.rs.core.MediaType;
10 import javax.xml.bind.JAXBElement;
11 import javax.xml.namespace.QName;
12
13 @Path("/")
14 public class MyService {
15
16     final String XMLNS_NAMESPACE = "http://yjmyzz.cnblogs.com/rest/service";
17     final String ROOT_NODE = "root";
18
19     @GET
20     @Path("/json/hello")
21     @Produces(MediaType.APPLICATION_JSON)
22     public JAXBElement<String> getHelloWorldJSON() {
23         JAXBElement<String> result = new JAXBElement<String>(new QName("",
24                 ROOT_NODE), String.class, sayHelloWorld());
25         return result;
26     }
27
28     @GET
29     @Path("/xml/hello")
30     @Produces(MediaType.APPLICATION_XML)
31     public JAXBElement<String> getHelloWorldXML() {
32         JAXBElement<String> result = new JAXBElement<String>(new QName(
33                 XMLNS_NAMESPACE, ROOT_NODE), String.class, sayHelloWorld());
34         return result;
35     }
36
37     private String sayHelloWorld() {
38         return "Hello JAX-RS-1";
39     }
40
41 }

MyService

还有一个关键步骤:在webapp/WEB-INF目录下创建web.xml,内容参考如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "
 4     version="2.5">
 5
 6     <servlet>
 7         <servlet-name>MyService</servlet-name>
 8         <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
 9         <init-param>
10             <param-name>javax.ws.rs.Application</param-name>
11             <param-value>yjmyzz.service.MyApplication </param-value>
12         </init-param>
13     </servlet>
14
15     <servlet-mapping>
16         <servlet-name>MyService</servlet-name>
17         <url-pattern>/rest/*</url-pattern>
18     </servlet-mapping>
19
20 </web-app>

web.xml

最后附上pom.xml的内容:

 1 <?xml version="1.0"?>
 2
 3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6
 7     <groupId>org.jboss.as.quickstarts</groupId>
 8     <artifactId>helloworld-rs</artifactId>
 9     <version>7.1.2-SNAPSHOT</version>
10     <packaging>war</packaging>
11     <name>JBoss EAP Quickstart: helloworld-rs</name>
12     <description>JBoss EAP Quickstart: Helloworld using JAX-RS</description>
13
14     <properties>
15         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16         <version.jboss.maven.plugin>7.4.Final</version.jboss.maven.plugin>
17         <version.jboss.spec.javaee.6.0>3.0.2.Final</version.jboss.spec.javaee.6.0>
18         <version.war.plugin>2.1.1</version.war.plugin>
19         <maven.compiler.target>1.6</maven.compiler.target>
20         <maven.compiler.source>1.6</maven.compiler.source>
21     </properties>
22
23     <dependencyManagement>
24         <dependencies>
25             <dependency>
26                 <groupId>org.jboss.spec</groupId>
27                 <artifactId>jboss-javaee-6.0</artifactId>
28                 <version>${version.jboss.spec.javaee.6.0}</version>
29                 <type>pom</type>
30                 <scope>import</scope>
31             </dependency>
32         </dependencies>
33     </dependencyManagement>
34
35     <dependencies>
36         <dependency>
37             <groupId>com.sun.jersey</groupId>
38             <artifactId>jersey-bundle</artifactId>
39             <version>1.15</version>
40         </dependency>
41     </dependencies>
42
43     <build>
44         <finalName>${project.artifactId}</finalName>
45         <plugins>
46             <plugin>
47                 <artifactId>maven-war-plugin</artifactId>
48                 <version>${version.war.plugin}</version>
49                 <configuration>
50                     <failOnMissingWebXml>true</failOnMissingWebXml>
51                 </configuration>
52             </plugin>
53
54             <plugin>
55                 <groupId>org.jboss.as.plugins</groupId>
56                 <artifactId>jboss-as-maven-plugin</artifactId>
57                 <version>${version.jboss.maven.plugin}</version>
58             </plugin>
59         </plugins>
60     </build>
61
62
63 </project>

pom.xml

ok,打完收工!

附示例源码下载:weblogic-rest-helloworld.zip

转载于:https://www.cnblogs.com/yjmyzz/p/rest-jax-rs-weblogic.html

weblogic 10.x 上开发restful服务相关推荐

  1. cloudfoundry_在Cloudfoundry上部署RESTful服务

    cloudfoundry 在本文中,我们将使用Pivotal Cloud Foundry(PCF)开发人员在Cloudfoundry上部署RESTful服务. 由于创建静态Web服务不是本文的一部分, ...

  2. cxf restful_使用Apache CXF开发RESTful服务

    cxf restful 介绍 如您所知,有两种开发Web服务的方法 简单对象访问协议(SOAP) 代表性状态转移(REST) 在继续学习如何使用Apache CXF创建基于REST的Web服务之前,我 ...

  3. 在Cloudfoundry上部署RESTful服务

    在本文中,我们将使用Pivotal Cloud Foundry(PCF)Dev在Cloudfoundry上部署RESTful服务. 由于创建静态Web服务不是本文的一部分,因此我已经创建了employ ...

  4. 使用Apache CXF开发RESTful服务

    介绍 如您所知,有两种开发Web服务的方法 简单对象访问协议(SOAP) 代表性状态转移(REST) 在继续学习如何使用Apache CXF创建基于REST的Web服务之前,我们将了解什么是REST. ...

  5. 在原有的SSH项目上开发RESTful风格的HTTP接口

    最近做一个需求,其中有个节点涉及到需要在传统的SSH项目中开发RESTful风格的HTTP接口,供请求方访问,获取结果,响应处理结果,其开发风格与spring cloud中控制器(controller ...

  6. java 利用JAX-RS快速开发RESTful 服务

    JAX-RS(Java API for RESTful Web Services)同样也是JSR的一部分,详细规范定义见 https://jcp.org/en/jsr/detail?id=311 .从 ...

  7. cics 服务端配置_使用PHP在CICS上构建RESTful服务

    cics 服务端配置 存档日期:2019年5月15日 | 首次发布:2009年4月21日 CICS®TransactionServer®(TS)是功能强大的事务管理器,旨在进行快速,大量的处理. Su ...

  8. 使用 Struts 2 开发 RESTful 服务

    原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-struts2rest/ REST 简介 REST 是英文 Representational S ...

  9. tomcat 部署 RESTful 服务实例

    1.建立简单restfule服务 参考:java 利用JAX-RS快速开发RESTful 服务实例 简单代码: package com.example;import javax.ws.rs.GET; ...

  10. 基于SpringBoot开发一个Restful服务,实现增删改查功能

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:虚无境 cnblogs.com/xuwujing/p/8260935.html 前言 在去 ...

最新文章

  1. 关于项目数据库设计--投票系统
  2. Java 中商业运算必备的精确运算类:BigDecimal
  3. jmeter中重要组件及其执行顺序
  4. 低功耗/远距离lora模块:物联网智能家居、抄表多领域应用SX1262芯片方案
  5. python脚本之家 包的创建和调用_python基础之包的导入和__init__.py的介绍
  6. 非洲做生意进货渠道_WikiFundi如何帮助非洲人民为维基百科做贡献
  7. NameError:name ‘xrange’ is not defined
  8. php正则表达式 什么,php正则表达式是什么?(代码实例)
  9. Redis学习手册(List数据类型)(转)
  10. html怎么用excel打开乱码,excel打开是乱码,详细教您excel打开是乱码怎么解决
  11. 计算机科学的研究方法,计算机科学与技术课题研究的方法论
  12. 前端H5面试题Js: Javascript 创建对象的几种方式? (必会)
  13. 测透51汇编 51单片机所有程序(51学习的纪念)
  14. 【全套资料.zip下载】数电课设-色子骰子模拟电路Multisim仿真设计【Multisim仿真+报告+讲解视频.zip下载】
  15. magicbook linux系统换w7,荣耀 MagicBook U盘装系统win7教程
  16. 编程语言Python为什么这么火?
  17. 一个古典App开发者的DApp开发之路
  18. Windows部分软件乱码教你快速解决
  19. 微信小程序-一个跑步app
  20. Oracle实现按季度划分,并计数

热门文章

  1. Apache Commons Net 实现 FTP 上传/下载/删除/同步
  2. linux单用户可以删除文件么,Linux单用户模式详解 及应用场景
  3. mysql56允许远程连接_mysql允许远程连接的方法
  4. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_18-页面查询接口定义-定义接口...
  5. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_01-项目概述-功能构架-项目背景...
  6. 阶段3 1.Mybatis_02.Mybatis入门案例_2.mybatis入门案例中的设计模式分析
  7. python 弧度与角度互转
  8. composer 设置代理
  9. CCBPM 同表单分合流说明
  10. appserv+win8