zoukankan      html  css  js  c++  java
  • resteasy入门

    http://iblike.iteye.com/blog/1010242

    http://my.oschina.net/bigyuan/blog/57409

    http://blog.csdn.net/nndtdx/article/details/6870391

    resteasy框架是可集成框架,可与其他技术集成使用,此处只列出了与maven web项目的配置方式,基本上内容是固定的

    第一步创建maven web项目并修改pom.xml文件,添加resteasy框架所需要的依赖包

    <project ..."> 
    
        <!-- 有私有仓库这个就不用写啦 --> 
        <repositories> 
           <repository> 
              <id>JBoss repository</id> 
              <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url> 
           </repository> 
        </repositories> 
       
        <dependencies> 
       
            <dependency> 
                <groupId>org.jboss.resteasy</groupId> 
                <artifactId>resteasy-jaxrs</artifactId> 
                <version>2.2.1.GA</version> 
            </dependency> 
       
        </dependencies> 
    </project> 

    在pom.xml增加了新的依赖jar包,在该工程的根目录 执行 mvn eclipse:eclipse 然后刷新workspace,新依赖的jar包就会加到该工程的构建路径中了

    第二步编写rest服务类

    package com.mkyong.rest;  
       
    import javax.ws.rs.GET;  
    import javax.ws.rs.Path;  
    import javax.ws.rs.PathParam;  
    import javax.ws.rs.core.Response;  
       
    @Path("/message")  
    public class MessageRestService {  
       public MessageRestService(){} 
        @GET 
        @Path("/{param}")  
        public Response printMessage(@PathParam("param") String msg) {  
       
            String result = "Restful example : " + msg;  
       
            return Response.status(200).entity(result).build();  
       
        }  
       
    } 

    第三步,配置web.xml

    现在配置监听器和servlet以支持RESTEasy,(详细参考JBOSS documentation) 
    <web-app id="WebApp_ID" version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee"   
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
        <display-name>Restful Web Application</display-name> 
       
        <!-- Auto scan REST service --> 
        <context-param> 
            <param-name>resteasy.scan</param-name> 
            <param-value>true</param-value> 
        </context-param> 
        <!-- 这句是关键 --> 
        <context-param> 
               <param-name>resteasy.resources</param-name> 
               <param-value>com.mkyong.rest.MessageRestService</param-value> 
        </context-param> 
       
        <!-- this need same with resteasy servlet url-pattern --> 
        <context-param> 
            <param-name>resteasy.servlet.mapping.prefix</param-name> 
            <param-value>/rest</param-value> 
        </context-param> 
       
        <listener> 
            <listener-class> 
                org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap  
            </listener-class> 
        </listener> 
       
        <servlet> 
            <servlet-name>resteasy-servlet</servlet-name> 
            <servlet-class> 
                org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher  
            </servlet-class> 
        </servlet> 
       
        <servlet-mapping> 
            <servlet-name>resteasy-servlet</servlet-name> 
            <url-pattern>/rest/*</url-pattern> 
        </servlet-mapping> 
       
    </web-app> 
    
    
    注:在上面的例子中, resteasy servlet url-pattern是"/rest/*",因此必须设置“resteasy.servlet.mapping.prefix”为“/rest”。 
        注意设置“resteasy.scan”为true,以便RESTEasy扫描和自动注册你的REST服务。 

    上面的例子是通过"ResteasyBootstrap"监听的。下面是另外一种方式。 
       创建一个类并且继承javax.ws.rs.core.Application,并且手动增加REST服务。 
       

    package com.mkyong.app; 
    import java.util.HashSet;  
    import java.util.Set;  
    import javax.ws.rs.core.Application;  
    import com.mkyong.rest.MessageRestService; 
       
    public class MessageApplication extends Application {  
        private Set<Object> singletons = new HashSet<Object>();  
       
        public MessageApplication() {  
            singletons.add(new MessageRestService());  
        }  
       
        @Override 
        public Set<Object> getSingletons() {  
            return singletons;  
        }  
    }  

      web.xml中不再监听,修改web.xml 

    <web-app id="WebApp_ID" version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee"   
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
        <display-name>Restful Web Application</display-name> 
       
        <!-- 这句是关键 --> 
        <context-param> 
               <param-name>resteasy.resources</param-name> 
               <param-value>com.mkyong.rest.MessageRestService</param-value> 
        </context-param> 
       
        <!-- this need same with resteasy servlet url-pattern --> 
        <context-param> 
            <param-name>resteasy.servlet.mapping.prefix</param-name> 
            <param-value>/rest</param-value> 
        </context-param> 
             
        <servlet> 
            <servlet-name>resteasy-servlet</servlet-name> 
            <servlet-class> 
                org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher  
            </servlet-class> 
             <init-param>     
                <param-name>javax.ws.rs.Application</param-name> 
                <param-value>com.mkyong.app.MessageApplication</param-value> 
             </init-param>                 
        </servlet> 
       
        <servlet-mapping> 
            <servlet-name>resteasy-servlet</servlet-name> 
            <url-pattern>/rest/*</url-pattern> 
        </servlet-mapping> 
       
    </web-app> 

    常用标注的使用

    @Path

    @Post

    @Get

    @Put

  • 相关阅读:
    ASP.NET应用程序与页面生命周期
    Git源码管控规范
    redis cluster
    jwt token and shiro
    openapi and light-4j
    ps 证件照制作
    js eval 动态内容生成
    pdnovel 看书 读书 听书
    crawler 使用jQuery风格实现
    websocket聊天体验(二)
  • 原文地址:https://www.cnblogs.com/ss561/p/4673845.html
Copyright © 2011-2022 走看看