Jersey框架搭建Rest服务

一、Jersey, 一个Java规范下REST风格Web Service开发框架,不同系统之间,数据之间的传输。

二、搭建Jersey-1.18环境,不集成任何框架。三个步骤:

(1)、创建Web项目,引入jar,如:这些jar自己去下载

asm-3.1.jar
jersey-apache-client-1.18.jar
jersey-atom-abdera-1.18.jar(不是必须)
jersey-client-1.18.jar
jersey-core-1.18.jar
jersey-json-1.18.jar
jersey-multipart-1.18.jar(不是必须)
jersey-server-1.18.jar
jersey-servlet-1.18.jar
jersey-spring-1.18.jar(不是必须)
fastjson-1.1.26.jar(不是必须)


(2)、配置Web.xml,如:

<!-- jersey servlet -->
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<!-- param-value 指定某个包目录下的类是restful服务类,可用逗号分隔,写多个目录 -->
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.zj.ec.wechat.member.controller</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/rs/*</url-pattern>
</servlet-mapping>


(3)、写Restful服务类与VO类,如:

/**
* 会员管理类, Restful服务接口类
* @author Administrator
*
*/
@Path("memberManage")
public class MemberControllerRestful implements Serializable{
private static final long serialVersionUID = 1L;
private Logger logger = LoggerFactory.getLogger(AreaController.class);

@Autowired
private MemberService memeberService;

@POST
@Path("/login")
@Consumes(value={"application/json"})
@Produces(value={"application/json"})
public String login(String in_json, @Context HttpServletResponse response)
{
logger.info("login method input param: " + in_json);
System.out.println("入参json = " + in_json);
Member member = JSON.parseObject(in_json, Member.class);
String aa = memeberService.update(member);
Result result = new Result();
String out_json = JSON.toJSONString("");
response.setCharacterEncoding("utf-8");
System.out.println("出参json = " + out_json);
return out_json;
}
}



/**必须注解@XmlRootElement 否则json与java类不能相互转换 */
@XmlRootElement
public class Member {
// 会员ID
private String memberID;
// 会员号
private String memberNO;




/** 测试类,只写了测试POST请求的方法 */
public class TestMember {
static String member_url = "http://localhost:8080/ec_wechat/rs/memberManage";
static String member_url_30 = "http://172.16.12.30:8099/jaxrs/memberManage";

/**
* @param args
*/
public static void main(String[] args) {
login();
}

public static void login(){
URI u;
try
{
u = new URI(member_url + "/login");
MultivaluedMapImpl params = new MultivaluedMapImpl();
//Login login = new Login();
Member vo = new Member();
vo.setName("start");
vo.setPassword("***");
params.add("vo", vo);
Client client = Client.create();
WebResource resource = client.resource(u);
String response = resource.entity(vo,
MediaType.APPLICATION_JSON).post(String.class);
System.out.println(response);// json格式数据
}
catch (URISyntaxException e)
{
e.printStackTrace();
}

}
}


(4)、运行测试类,入参为JSON,出参为JSON,若能正常打印,则说明成功了。


[b]若有不明白的地方,可以加我QQ 251693481,竭诚为你解答。[/b]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值