1: web. jersey1.X, the servlet container for loading jersey in xml, uses sun's com. sun. jersey. spi. container. servlet. servletContainerjersey2.X uses org of glassfish. glassfish. jersey. servlet. servletContainer2: Scan jerseyresourcejersey1.X to use sun's com. sun.
1: web. jersey1.X, the servlet container for loading jersey in xml, uses sun's com. sun. jersey. spi. container. servlet. servletContainer jersey2.X uses org of glassfish. glassfish. jersey. servlet. servletContainer 2: Scan jersey resource jersey1.X using sun's com. sun.
1: web. xml loads jersey's servlet container
Jersey1.X uses sun's com. sun. jersey. spi. container. servlet. ServletContainer
Jersey2.X uses org. glassfish. jersey. servlet. ServletContainer of glassfish.
2: Scan jersey resource
Jersey1.X uses sun's com. sun. jersey. config. property. packages
Jersey2.X Uses jersey. config. server. provider. packages of glassfish.
3: jersey2.X scan jersey resource using @ WebServlet of servlet3. No special web. xml configuration is required
For example:
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 can use the @ ApplicationPath annotation to load jersey resouce.
For example:
@ 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 can use web. xml to load the Application.
Jersey Web Application
Org. glassfish. jersey. servlet. ServletContainer
Javax. ws. rs. Application
Com. example. RestApplication
1
Jersey Web Application
/Webapi /*