博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
weblogic 10.x 上开发restful服务
阅读量:5172 次
发布时间:2019-06-13

本文共 4747 字,大约阅读时间需要 15 分钟。

之前已经学习过 ,当时是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
> getClasses() {16 Set
> s = new HashSet
>();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     @GET20     @Path("/json/hello")21     @Produces(MediaType.APPLICATION_JSON)22     public JAXBElement
getHelloWorldJSON() {23 JAXBElement
result = new JAXBElement
(new QName("",24 ROOT_NODE), String.class, sayHelloWorld());25 return result;26 }27 28 @GET29 @Path("/xml/hello")30 @Produces(MediaType.APPLICATION_XML)31 public JAXBElement
getHelloWorldXML() {32 JAXBElement
result = new JAXBElement
(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 
2
5 6
7
MyService
8
com.sun.jersey.spi.container.servlet.ServletContainer
9
10
javax.ws.rs.Application
11
yjmyzz.service.MyApplication
12
13
14 15
16
MyService
17
/rest/*
18
19 20
web.xml

最后附上pom.xml的内容:

1 
2 3
5
4.0.0
6 7
org.jboss.as.quickstarts
8
helloworld-rs
9
7.1.2-SNAPSHOT
10
war
11
JBoss EAP Quickstart: helloworld-rs
12
JBoss EAP Quickstart: Helloworld using JAX-RS
13 14
15
UTF-8
16
7.4.Final
17
3.0.2.Final
18
2.1.1
19
1.6
20
1.6
21
22 23
24
25
26
org.jboss.spec
27
jboss-javaee-6.0
28
${version.jboss.spec.javaee.6.0}
29
pom
30
import
31
32
33
34 35
36
37
com.sun.jersey
38
jersey-bundle
39
1.15
40
41
42 43
44
${project.artifactId}
45
46
47
maven-war-plugin
48
${version.war.plugin}
49
50
true
51
52
53 54
55
org.jboss.as.plugins
56
jboss-as-maven-plugin
57
${version.jboss.maven.plugin}
58
59
60
61 62 63
pom.xml

ok,打完收工!

附示例源码下载:

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

你可能感兴趣的文章
c++11 : range-based for loop
查看>>
中国农历2013,2014 (zz.IS2120@BG57IV3)
查看>>
用virtualenv建立独立虚拟环境 批量导入模块信息
查看>>
Sublime Text3 插件:convertToUTF8
查看>>
BZOJ4060 : [Cerc2012]Word equations
查看>>
hdu2089不要62(数位dp)
查看>>
JAVA输出最大值和最小值
查看>>
64位weblogic11g安装
查看>>
oracle、mysql、sql server等;流行数据库的链接驱动配置
查看>>
UvaLive 6664 Clock Hands
查看>>
PCB 周期计算采用 SQL 函数调用.net Dll 标量函数 实现
查看>>
Problem B: 取石子
查看>>
Python学习笔记001——Linux
查看>>
Vue: 常用指令
查看>>
简单介绍.Net3.0 中跨线程访问控件
查看>>
oracle imp 工具可能出现的问题
查看>>
bzoj1045题解
查看>>
学习Cocos2d的博客 --推荐
查看>>
SpringMVC中@RequestMapping参数设置
查看>>
lea实现加法
查看>>