java webservice 开发方法(REST方式)---续(JSON标准输入输出)

本文介绍了如何使用Java开发RESTful Web服务,重点在于JSON数据的处理。通过引入Jackson库,配置web.xml,改造程序实现GET请求,并提供测试用例展示如何获取和返回JSON格式的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.引用jar包

jackson-all-1.9.11.jar

2.web.xml中追加设置

  <servlet>
    <servlet-name>ZKAppService</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>com.fivesuo.zkapp.webservice</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>ZKAppService</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
  <mime-mapping>
        <extension>json</extension>
        <mime-type>application/json</mime-type>
  </mime-mapping>

3.改造程序

package com.fivesuo.zkapp.webservice;


import java.util.ArrayList;
import java.util.List;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;


import com.fivesuo.zkapp.entity.UserInfoEntity;


@Path("/XueJiaXing")
@Produces(MediaType.APPLICATION_JSON)
public class XueJiaXing {
@Context
    HttpServletRequest request;
@Context
    HttpServletResponse response;
    @GET
    @Path("/1")
    public UserInfoEntity  getResult(@QueryParam("userId") String userId){


    UserInfoEntity user=new UserInfoEntity();
    user.setName("Nnnnn");
    user.setPassword("Ppppp");
    user.setUserId("Uuuuu");
    return user;
    }
    @GET
    @Path("/2")
    public List<UserInfoEntity> postResult(@QueryParam("userId") String userId){
    List<UserInfoEntity> ll=new ArrayList<UserInfoEntity>();
    UserInfoEntity user=new UserInfoEntity();
    user.setName("Nnnnn");
    user.setPassword("Ppppp");
    user.setUserId("Uuuuu");
    ll.add(user);
    ll.add(user);
    user.setName("Nnnnn1");
    user.setPassword("Ppppp1");
    user.setUserId("Uuuuu1");
    ll.add(user);
    return ll;
    }


}

4.测试

A.http://localhost:8080/ZKAppService/XueJiaXing/1?userId=123456

{"userId":"Uuuuu","password":"Ppppp","name":"Nnnnn"}

B.http://localhost:8080/ZKAppService/XueJiaXing/2?userId=123456

[{"userId":"Uuuuu1","password":"Ppppp1","name":"Nnnnn1"},{"userId":"Uuuuu1","password":"Ppppp1","name":"Nnnnn1"},{"userId":"Uuuuu1","password":"Ppppp1","name":"Nnnnn1"}]
5.结论
Jersey架构中,包含Json标准的数据转换,在输入输出中可以放心、便捷使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值