WEB开发网
开发学院软件开发Java Spring MVC与JAX-RS比较与分析 阅读

Spring MVC与JAX-RS比较与分析

 2010-08-04 00:00:00 来源:WEB开发网   
核心提示: @Path是个JAX-RS注解,它将AccountResource声明为“根”JAX-RS资源,Spring MVC与JAX-RS比较与分析(4),@Context也是一个JAX-RS注解,要求注入特定于请求的UriInfo对象,比如说,对于“/account

@Path是个JAX-RS注解,它将AccountResource声明为“根”JAX-RS资源。

@Context也是一个JAX-RS注解,要求注入特定于请求的UriInfo对象。

JAX-RS有“根”资源(标记为@Path)和子资源的概念。在上面的示例中,AccountResource就是个根资源,它会处理以 “/accounts/”开头的路径。AccountResource中的方法如getAccount()只需声明针对类型级别的相对路径即可。

@Path("/accounts/") 
@Component 
@Scope("prototype") 
public class AccountResource { 
 
  @GET 
  @Path("{username}") 
  public Account getAccount(@PathParam("username") String username) { 
 
  } 
 
} 

访问路径“/accounts/{username}”(其中的username是路径参数,可以是某个账户的用户名)的请求将由getAccount()方法处理。

根资源由JAX-RS运行时(在本示例中是Spring)实例化,子资源则由应用本身实例化。比如说,对于“/accounts /{username}/portfolios/{portfolioName}”这样的请求,AccountResource(由路径的第一部分“ /accounts”标识)会创建一个子资源实例,请求会被代理给该实例:

@Path("/accounts/") 
@Component 
@Scope("prototype") 
public class AccountResource { 
 
  @Path("{username}/portfolios/") 
  public PortfolioResource getPortfolioResource(@PathParam("username") String username) { 
    return new PortfolioResource(accountRepository, username, uriInfo); 
  } 
 
} 

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Spring MVC JAX

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接