RestfulWebService实现之一--------------Jetty+Jersey方法一

通过Jetty+Jersey实现Restful Web Service

一、POM.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>My.Demo.Restful</groupId>
  <artifactId>Jersey-JettyEmbed</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>mytest</name>
  <description>JettyEmbedServer with Jersey</description>
  <dependencies>
    <dependency>
  		<groupId>org.eclipse.jetty</groupId>
  		<artifactId>jetty-servlet</artifactId>
  		<version>9.4.8.v20171121</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sun.jersey</groupId>
  		<artifactId>jersey-servlet</artifactId>
  		<version>1.19.4</version>
  	</dependency>
  </dependencies>
  <build>
    <plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>2.5.1</version>
			<inherited>true</inherited>
			<configuration>
				<source>1.7</source>
				<target>1.7</target>
			</configuration>
            </plugin>
		<plugin>
			<groupId>org.codehaus.mojo</groupId>
			<artifactId>exec-maven-plugin</artifactId>
			<version>1.2.1</version>
			<executions>
				<execution>
					<goals>
						<goal>java</goal>
					</goals>
				</execution>
			</executions>
			<configuration>
				<mainClass>my.restful.Main</mainClass>
			</configuration>
		</plugin>
    </plugins>
  </build>
</project>

二、Main代码

package my.restful;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import com.sun.jersey.spi.container.servlet.ServletContainer;


public class Main {

    public static void main(String[] args) throws Exception {
        Server server=new Server(8080);
		//ServletHolder
        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", "my.restful");
		/ServletContextHandler//
        ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.SESSIONS);
        handler.setContextPath("/");
        handler.addServlet(servlet, "/*");
		
        server.setHandler(handler);
        server.start();
		//
        System.out.println("JettyStart at  127.0.0.1:8080");
    }
}


三、资源类代码

package my.restful;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
 * Root resource (exposed at "myresource" path)
 */
@Path("myresource")
public class MyResource {

    /**
     * Method handling HTTP GET requests. The returned object will be sent
     * to the client as "text/plain" media type.
     *
     * @return String that will be returned as a text/plain response.
     */
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getIt() {
        return "Got it!";
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值