Resteasy配置及其使用



 resteasy秉承restful风格,它的简单已配置比使用servlet更加方便。它支持PUT   、 POST 、  GET  等常用HTTP请求方式,并且提供annotation的 Java类可配置功能将Java对象数据JSON转化。

1、访问方式

  PUT    POST   GET   (常用HTTP请求方式)
2、下载资源jar包支持[如图]

3、web.xml配置

[html]  view plain  copy
  1. <context-param>  
  2.         <param-name>resteasy.resources</param-name>  
  3.         <param-value>com.rest.UserService</param-value>  
  4.     </context-param>  
  5.       
  6.     <context-param>  
  7.         <param-name>resteasy.servlet.mapping.prefix</param-name>  
  8.         <param-value>/service</param-value>  
  9.     </context-param>  
  10.   
  11.   
  12.     <listener>  
  13.         <listener-class>  
  14.             org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap  
  15.         </listener-class>  
  16.     </listener>  
  17.   
  18.   
  19.     <servlet>  
  20.         <servlet-name>Resteasy</servlet-name>  
  21.         <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>  
  22.     </servlet>  
  23.   
  24.   
  25.     <servlet-mapping>  
  26.         <servlet-name>Resteasy</servlet-name>  
  27.         <url-pattern>/services/*</url-pattern>  
  28.     </servlet-mapping>  
4、编写控制访问
[java]  view plain  copy
  1. package com.rest;  
  2. import java.util.ArrayList;  
  3. import java.util.HashMap;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6. import javax.ws.rs.GET;  
  7. import javax.ws.rs.Path;  
  8. import javax.ws.rs.PathParam;  
  9. //import javax.ws.rs.FormParam;//获取表单参数  
  10. import javax.ws.rs.Produces;  
  11. //import javax.ws.rs.core.Context;//请求上下文HttpServletRequest  
  12. //import javax.ws.rs.QueryParam;//用于获取数据库查询参数  
  13. @Path("userservice")  
  14. public class UserService {  
  15.     /** 
  16.      * 初始化用户数据 
  17.      */  
  18.     static Map<Integer,Object> map=new HashMap<Integer, Object>();  
  19.       
  20.     static{  
  21.         User user1=new User("linda","623423","163242@ms.com",23,"female");  
  22.         map.put(1, user1);  
  23.         User user2=new User("veppa","734423","7d3242@ms.com",21,"male");  
  24.         map.put(2, user2);  
  25.         User user3=new User("nokka","973423","1fddf2@ms.com",23,"female");  
  26.         map.put(3, user3);  
  27.     }  
  28.       
  29.     /** 
  30.      * 获取指定Id的用户信息 
  31.      * @param id 
  32.      * @return 
  33.      */  
  34.     @GET  
  35.     @Path("user/{id}")  
  36.     @Produces("application/json")  
  37.     public User getById(@PathParam("id") Integer id) {  
  38.         return (User) map.get(id);  
  39.     }  
  40.       
  41.     /** 
  42.      * 获取所有用户列表的JSON数据 
  43.      * @return 
  44.      */  
  45.     @GET  
  46.     @Path("users")  
  47.     @Produces("application/json")  
  48.     public List<User> getUsers() {  
  49.         List<User> users=new ArrayList<User>();  
  50.         for(Integer index: map.keySet()){  
  51.             User user=(User) map.get(index);  
  52.             users.add(user);  
  53.         }  
  54.         return users;   
  55.     }  
  56.       
  57.     /** 
  58.      * 获取的用户传入的信息 
  59.      * @param msg 
  60.      * @return 
  61.      */  
  62.     @GET  
  63.     @Path("user/trans/{msg}")  
  64.     public String  getMessage(@PathParam("msg") String msg) {  
  65.         return "[Hello dear! ]"+",MSG:{"+msg+"}";  
  66.     }  
  67.   
  68.   
  69. }  
5、测试
  输入访问:http://localhost:8080/resteasy/services/userservice/users
 打印结果: [{"email":"163242@ms.com","age":23,"gender":"female","name":"linda","password":"623423"},
 {"email":"7d3242@ms.com","age":21,"gender":"male","name":"veppa","password":"734423"},
 {"email":"1fddf2@ms.com","age":23,"gender":"female","name":"nokka","password":"973423"}]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值