Jersey+Spring 实现rest 接口 服务调用

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

 下载地址: http://download.java.net/maven/2/com/sun/jersey/contribs/jersey-spring/

或官网

https://maven.java.net/content/repositories/releases/com/sun/jersey/contribs/jersey-spring/1.9/

所需包:

jersey-client-1.8.jar

jersey-core-1.8.jar

jersey-json-1.8.jar

jersey-server-1.8.jar

jersey-spring-1.8.jar

所有jar 目录如下:



web.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <display-name>workflowController Application</display-name>   <context-param>  <param-name>webAppRootKey</param-name>  <param-value>workflowController.root</param-value> </context-param>    <!-- 生产环境设为0 --> <context-param>  <param-name>log4jRefreshInterval</param-name>  <param-value>0</param-value> </context-param> <context-param>  <param-name>log4jConfigLocation</param-name>  <param-value>/WEB-INF/classes/log4j.properties</param-value> </context-param>  <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>/WEB-INF/classes/*Context.xml</param-value>  <!-- classpath:applicationContext.xml,classpath*:*Context.xml --> </context-param>    <servlet>  <servlet-name>REST Servlet</servlet-name>  <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>  <load-on-startup>1</load-on-startup>  <init-param>    <param-name>com.sun.jersey.config.property.packages</param-name>    <param-value>com.wondersgroup.resource</param-value>   </init-param> </servlet> <servlet-mapping>  <servlet-name>REST Servlet</servlet-name>  <url-pattern>/service/*</url-pattern> </servlet-mapping>  <servlet>  <servlet-name>SecheduleServlet</servlet-name>  <servlet-class>com.wondersgroup.schedule.servlet.ScheduleServlet</servlet-class>  <load-on-startup>2</load-on-startup> </servlet>  <filter>  <filter-name>EncodingFilter</filter-name>  <filter-class>   org.springframework.web.filter.CharacterEncodingFilter  </filter-class>  <init-param>   <param-name>encoding</param-name>   <param-value>utf-8</param-value>  </init-param> </filter> <filter-mapping>  <filter-name>EncodingFilter</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>  <listener>  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>  <listener>  <listener-class>   org.springframework.web.context.ContextLoaderListener  </listener-class> </listener> <!--   <filter>  <filter-name>struts2</filter-name>  <description>Struts2 Filter</description>  <filter-class>   org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  </filter-class>  <init-param>   <param-name>packages</param-name>   <param-value>com.wondersgroup.framework.widget</param-value>  </init-param> </filter> <filter>  <filter-name>struts2-cleanup</filter-name>  <description>Struts2 CleanUp Filter</description>  <filter-class>   org.apache.struts2.dispatcher.ActionContextCleanUp  </filter-class> </filter>  <filter-mapping>  <filter-name>struts2-cleanup</filter-name>  <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping>  <filter-name>struts2</filter-name>  <url-pattern>*.action</url-pattern> </filter-mapping> --> <!-- session失效时间 分钟 <session-config>       <session-timeout>-1</session-timeout>   </session-config>   --></web-app>

sample:

/** *  */package com.wondersgroup.workflow.resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.ws.rs.Consumes;import javax.ws.rs.FormParam;import javax.ws.rs.POST;import javax.ws.rs.Path;import javax.ws.rs.Produces;import javax.ws.rs.core.Context;import javax.ws.rs.core.MediaType;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Component;import com.google.gson.Gson;import com.wondersgroup.workflow.controller.WorkflowController;import com.wondersgroup.workflow.model.bo.WorkflowActivity;import com.wondersgroup.workflow.model.vo.WorkflowResult;/**  * @ClassName: WorkflowService  * @Description: TODO(rest)  * @author zhoushun  * @date 2013-5-31 09:34:11  *   */@Component@Path("workflow")@Scope("prototype")public class WorkflowResource @Context public HttpServletRequest request;    @Context     public HttpServletResponse response;  private WorkflowController controller;  public WorkflowController getController() {  return controller; } @Autowired(required=falsepublic void setController(@Qualifier("workflowController")WorkflowController controller) {  this.controller = controller; } @POST @Path("launchProcess"@Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.APPLICATION_JSON) public WorkflowResult launchProcess(@FormParam("data") String data){  System.out.println("data="+ data);  Gson gson = new Gson();  WorkflowResult result =  this.controller.saveProcessData(data,2);  System.out.println(gson.toJson(result));  if(result.isSuccess()){   result = this.controller.lauchProcess();  }  System.out.println(gson.toJson(result));    return result; }  @POST @Path("saveProcessStep"@Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.APPLICATION_JSON) public WorkflowResult saveProcessStep(@FormParam("data") String data){  WorkflowResult result = this.controller.saveProcessData(data,0);  return result; }  // @POST @Path("completeProcessStep"@Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.APPLICATION_JSON) public WorkflowResult completeProcessStep(@FormParam("id") String id){  WorkflowResult result = this.controller.completeProcessStep(id);  return result; }   @POST @Path("test"@Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.APPLICATION_JSON) public WorkflowActivity test(@FormParam("zs") String zs){  System.out.println("----------------------------");  System.out.println(zs);  System.out.println("----------------------------");  System.out.println(request.getParameter("ss"));  WorkflowActivity bo = new WorkflowActivity();   if (true) {     //  throw new CustomNotFoundException(new WorkflowResult());     }  return bo;   }}



           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值