欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

jersey1.X与jersey2.X的区别

程序员文章站 2022-05-13 11:09:19
...

1:web.xml加载jersey的servlet容器 jersey1.X使用的是sun的com.sun.jersey.spi.container.servlet.ServletContainer jersey2.X使用的是glassfish的org.glassfish.jersey.servlet.ServletContainer 2: 扫描 jersey resource jersey1.X使用的是sun的com.sun.

1:web.xml加载jersey的servlet容器

jersey1.X使用的是sun的com.sun.jersey.spi.container.servlet.ServletContainer

jersey2.X使用的是glassfish的org.glassfish.jersey.servlet.ServletContainer


2:扫描jersey resource

jersey1.X使用的是sun的com.sun.jersey.config.property.packages

jersey2.X使用的是glassfish的jersey.config.server.provider.packages


3:jersey2.X可以使用servlet3的 @WebServlet扫描jersey resource。不需要特别配置web.xml


例如:

import javax.servlet.annotation.WebInitParam;

import javax.servlet.annotation.WebServlet;

import org.glassfish.jersey.servlet.ServletContainer;

@WebServlet(initParams = @WebInitParam(name = "jersey.config.server.provider.packages", value = "com.example"), urlPatterns = "/webapi/*", loadOnStartup = 1)

public class AirServlet extends ServletContainer {

private static final long serialVersionUID = 1L;

}


4:jersey2.X可以使用@ApplicationPath注解,加载jersey resouce。

例如:

@ApplicationPath("/webapi/*")

public class AirApplication extends Application {

@Override

public Set> getClasses() {

final Set> classes = new HashSet>();

classes.add(MyResource.class);

return classes;

}

}

5:jersey2.X可以使用web.xml加载Application

Jersey Web Application

org.glassfish.jersey.servlet.ServletContainer

javax.ws.rs.Application

com.example.RestApplication

1

Jersey Web Application

/webapi/*