spring+resteasy(JSF)搭建接口
来源:互联网 发布:seo快速优化软件 编辑:程序博客网 时间:2024/05/21 06:33
搞了一晚上终于配好了spring+resteasy,网上都是spring+mvc ,springMVC跟JSF是冲突的。相信大家在搭建spring+resteasy做服务器的时候肯定遇到很多问题比如
You cannot use resteasy.scan, resteasy.scan.resources, or resteasy.scan.providers with the SpringContextLoaderLister as this may cause serious deployment errors in your application
还有就是简单的maven配置以后找不到service
下面我会列出主要详细步骤配合图片,减少后来人遇到的问题。
首先是web.xml里面的配置
<!-- this need same with resteasy servlet url-pattern --> <context-param> <param-name>resteasy.servlet.mapping.prefix</param-name> <param-value>/rest</param-value> </context-param> <!-- resteasy启动初始化监听器 --> <listener> <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap </listener-class> </listener> <!-- resteasy和spring整合,有了这个,ContextLoaderListener就不要了 --> <listener> <listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>resteasy-servlet</servlet-name> <servlet-class> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher </servlet-class> </servlet> <servlet-mapping> <servlet-name>resteasy-servlet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping>下面是pom.xml里面的配置信息
<jackson.version>2.7.1</jackson.version> <resteasy-version>3.0.16.Final</resteasy-version> <httpcomp-version>4.2.5</httpcomp-version>
<dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.12.1.GA</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>${resteasy-version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> </exclusion> <exclusion> <groupId>javassist</groupId> <artifactId>javassist</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${httpcomp-version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>${httpcomp-version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore-nio</artifactId> <version>${httpcomp-version}</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-spring</artifactId> <version>${resteasy-version}</version> <exclusions> <exclusion> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jettison-provider</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jackson2-provider</artifactId> <version>${resteasy-version}</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxb-provider</artifactId> <version>${resteasy-version}</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-servlet-initializer</artifactId> <version>${resteasy-version}</version> </dependency>
接着是spring里面的配置最重要的一个部分,不添加 <context:component-scan base-package="com.zhengsu.gsp.app.resteasy"/>配合外接口的@controller就无法找到service,而且添加了这个以后就不需要在spring里面一个个去设置搜索路径了 com.zhengsu.gsp.app.resteasy是作为外放接口的包名,
下面给出loginservice内容里面必须添加@controller
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */package com.zhengsu.gsp.app.resteasy;import com.google.gson.Gson;import java.util.concurrent.ExecutorService;import javax.inject.Inject;import javax.ws.rs.Consumes;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.PathParam;import javax.ws.rs.container.AsyncResponse;import javax.ws.rs.container.Suspended;import javax.ws.rs.core.Response;import javax.ws.rs.core.MediaType;import javax.ws.rs.Produces; import com.zhengsu.gsp.userAccount.service.UserAccountService;import javax.annotation.Resource;import org.springframework.stereotype.Controller;//import util.json.JacksonUtils;/** * * @author Administrator */@Path("/login")@Controllerpublic class LoginService { Gson newGson = new Gson(); @Resource(name = "userAccountService") private UserAccountService tempService; @GET @Path(value = "user/trans/{msg}") @Produces("application/json") public String getMessage(@PathParam("msg") String msg) { return "[Hello dear! ]"+",MSG:{"+getTempService()+this+"}"; } /** * @return the tempService */ public UserAccountService getTempService() { return tempService; } /** * @param tempService the tempService to set */ public void setTempService(UserAccountService tempService) { this.tempService = tempService; } }上面代码中使用的UserAccountService跟JSF使用的方式一样,在spring里面进行同样的配置
最后运行工程你就可以通过调用
http://localhost:8080/gsp/rest/login/user/trans/1来获取接口返回的数据了。。
新手语言组织能力太差。只能这样了。。
0 0
- spring+resteasy(JSF)搭建接口
- eclipse3.2搭建spring+jsf
- jsf+spring+hibernate框架搭建
- resteasy + mybatis 项目搭建
- resteasy 与spring集成
- spring集成resteasy实例
- RESTEasy通过接口管理配置
- resteasy简单的项目搭建
- 基于RestEasy开发环境搭建
- spring+resteasy开发webservice服务
- resteasy-spring + springmvc + extdirectspring配置
- Spring boot 与RestEasy结合
- spring boot 整合 resteasy+fastjson
- jsf+spring
- 用JSF+Spring+IBatis搭建一个简单的框架
- JSF+Spring+JPA(Hibernate实现)的环境搭建
- JSF+Spring+Hibernate框架的搭建示例图解
- JSF 搭建第一个JSF
- 自定义Exception
- Integer int 比较
- Kruskal 算法 (MST)
- collection和Map区别
- 系统断点在哪里&&如何断在TLS回调前
- spring+resteasy(JSF)搭建接口
- c++实验6-数组合并
- class中并不是public没有就好
- USACO 4.3 高精度
- Freemarkar工具类
- 为什么很多人辛劳一生,仍然生活在社会底层?
- 序列化和反序列化
- SpringMVC---HelloWorld程序的创建步骤
- PRO-1:Day2 vim+基础知识+C