我前一段时间使用Jetty和Jersey创建了一个应用程序。它实际上只是一个标准的Webapp:
web.xml:
<servlet> <servlet-name>rest.service</servlet-name> <servlet-class> com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name> <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value> </init-param> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>your.package.with.jersey.resources</param-value> </init-param> <load-on-startup>1</load-on-startup></servlet><servlet-mapping> <servlet-name>rest.service</servlet-name> <url-pattern>/service/*</url-pattern></servlet-mapping>
休息资源:
package your.package.with.jersey.resources;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.Produces;import javax.ws.rs.core.Context;import javax.ws.rs.core.MediaType;import javax.ws.rs.core.SecurityContext;@Path("login")public class LoginResource { @Context private SecurityContext security; @GET @Produces(MediaType.APPLICATION_XML) public String login() { String email = security.getUserPrincipal().getName(); return "ok"; }}
public class StartJetty { public static void main(String[] args) throws Exception { Server server = new Server(); SocketConnector connector = new SocketConnector(); // Set some timeout options to make debugging easier. connector.setMaxIdleTime(1000 * 60 * 60); connector.setSoLingerTime(-1); connector.setPort(8080); server.setConnectors(new Connector[] { connector }); WebAppContext bb = new WebAppContext(); bb.setServer(server); bb.setContextPath("/"); bb.setWar("src/main/webapp"); server.addHandler(bb); try { System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP"); server.start(); while (System.in.available() == 0) { Thread.sleep(5000); } server.stop(); server.join(); } catch (Exception e) { e.printStackTrace(); System.exit(100); } }}
pom.xml:
<!-- Jetty --><dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId></dependency><dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId></dependency><dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-management</artifactId></dependency><!-- Jersey (JAX-RS) --><dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId></dependency><dependency> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-spring</artifactId></dependency><dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId></dependency><dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-test-framework</artifactId> <scope>test</scope></dependency><dependency> <groupId>com.sun.grizzly</groupId> <artifactId>grizzly-servlet-webserver</artifactId></dependency>(...)<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> </plugin>
希望这些摘要为您指明正确的方向。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)