博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web基础----->jersey整合jetty开发restful应用(一)
阅读量:4972 次
发布时间:2019-06-12

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

  这里介绍一个jersey与jetty整合开发restful应用的知识。将过去和羁绊全部丢弃,不要吝惜那为了梦想流下的泪水。

 

jersey与jetty的整合

一、创建一个maven项目,pom.xml的内容如下

4.0.0
com.linux.huhx
SpringLearn2
1.0-SNAPSHOT
8.1.19.v20160209
com.sun.jersey
jersey-servlet
1.19.4
org.eclipse.jetty.aggregate
jetty-all-server
${jetty-version}
com.sun.jersey
jersey-json
1.19.4
junit
junit
4.12
test

 

二、创建一个web容器,在main方法启动jetty

package com.linux.huhx.main;import com.sun.jersey.spi.container.servlet.ServletContainer;import org.eclipse.jetty.server.Server;import org.eclipse.jetty.servlet.ServletContextHandler;import org.eclipse.jetty.servlet.ServletHolder;public class HttpServer {    public static void main(String[] args) throws Exception {        Server server = new Server(8090);        ServletHolder servlet = new ServletHolder(ServletContainer.class);        servlet.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig");        servlet.setInitParameter("com.sun.jersey.config.property.packages", "com.linux.huhx.business");        servlet.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");        ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.SESSIONS);        handler.setContextPath("/");        handler.addServlet(servlet, "/*");        server.setHandler(handler);        server.start();        System.out.println("start...in 82");    }}

 

三、定义restful网格的api接口

package com.linux.huhx.business.action;import javax.ws.rs.GET;import javax.ws.rs.POST;import javax.ws.rs.Path;import javax.ws.rs.Produces;import javax.ws.rs.core.MediaType;import java.util.HashMap;import java.util.Map;@Path("hello")public class HelloHuhxResource {    /**     * 简单的get请求,返回json数据     * @return     */    @GET    @Path("huhx")    @Produces(MediaType.APPLICATION_JSON)    public Map
sayHelloHuhx() { Map
map = new HashMap<>(); map.put("returnCode", "000000"); map.put("returnMsg", "I love you"); return map; } /** * json的请求和json数据的返回 * @param paramMap * @return */ @POST @Path("linux") @Produces(MediaType.APPLICATION_JSON) public Map
sayHelloLinux(Map
paramMap) { Map
map = new HashMap<>(); map.put("username", paramMap.get("username")); map.put("password", paramMap.get("password")); return map; }}

 

四、用浏览器和postman测试的结果如下

  •  访问:http://localhost:8090/hello/huhx

返回结果:{"returnCode":"000000","returnMsg":"I love you"}

  •  访问:http://localhost:8090/hello/linux 参数:{ "username": "linux", "password": "12345"}

返回结果:{ "password": "12345",  "username": "linux"}

 

友情链接

  • 关于jersey的文档:
  • 关于java EE规范的restful: 

 

转载于:https://www.cnblogs.com/huhx/p/webbaseusejersey1.html

你可能感兴趣的文章
hdu 1028 DP 完全背包
查看>>
java中常用的swing组件 (2013-10-27-163 写的日志迁移
查看>>
Java 学习笔记 网络编程 使用Socket传输文件 CS模式
查看>>
利用bootstrap-datetimepicker实日历插件
查看>>
python chr()
查看>>
ionic 打包遇到"Error: spawn EACCES".
查看>>
学习记录
查看>>
js学习
查看>>
在一个创业型公司做技术总监应该干什么?
查看>>
Xcode插件路径、缓存路径、图片压缩工具路径、代码片段路径、symbolicatecrash路径...
查看>>
安卓开发(3)
查看>>
图片放大镜效果-- jquery实现
查看>>
开机自启动批处理脚本
查看>>
codeforce843A Sorting by Subsequences
查看>>
如何分析redis中的慢查询
查看>>
[转]《我眼中的技术高手》——邯郸学步、创作与创新
查看>>
XML基础(转)
查看>>
Java IO流 之 InputStreamReader 字节流转字符流
查看>>
【资源分享】Dll Injector(DLL注入器)
查看>>
P1005 矩阵取数游戏
查看>>