`

gwt spring整合

    博客分类:
  • gwt
阅读更多

gwt+spring整合

 

目的:让gwt与spring整合

思路:建立一个实现了RemoteServiceServlet的servlet,根据传递的参数调用spring WebApplicationContext容器里注册的服务,返回结果!

 

实现:

1.建立一个实现了RemoteServiceServlet的servlet

 

public class GwtSpring extends RemoteServiceServlet{

	/**
	 * spring容器上下文
	 */
	private WebApplicationContext springContext;

	/**
	 * 覆盖servlet.init方法 
	 * 获取spring WebApplicationContext容器上下文
	 */
	@Override
	public void init(ServletConfig config) throws ServletException {
		super.init(config);
		springContext = (WebApplicationContext) config.getServletContext().getAttribute( 
		WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); 

		if (springContext == null) { 
			throw new RuntimeException("Check Your Web.Xml Setting, No Spring Context Configured"); 
		} 
	}
	
	/**
	 * 覆盖RemoteServiceServlet方法
	 * 获取调用参数,取得容器里的服务对象进行处理,返回处理结果
	 */
	@Override
	public String processCall(String payload) throws SerializationException {
		//获取HttpServletRequest对象
		HttpServletRequest req = getThreadLocalRequest();
		//获取服务对象,此处采用url比对,与servlet url-pattern配合
		//url样式:/gwtcrud/spring/*
		//*号代表容器里服务对象ID
		String requestURI = req.getRequestURI();
		String beanname = requestURI.substring(requestURI.lastIndexOf("/")+1);
		RemoteService service = (RemoteService) springContext.getBean(beanname);
		
		//调用服务对象,返回结果,参考:RemoteServiceServlet.processCall
		try {
			RPCRequest rpcRequest = RPC.decodeRequest(payload, service.getClass(),
					this);
			return RPC.invokeAndEncodeResponse(service, rpcRequest.getMethod(),
					rpcRequest.getParameters(), rpcRequest
							.getSerializationPolicy());
		} catch (IncompatibleRemoteServiceException ex) {
			getServletContext()
				.log("An IncompatibleRemoteServiceException was thrown while processing this call.",ex);
			return RPC.encodeResponseForFailure(null, ex);
		}
	}
	
	
}

 

 

2.配置web.xml

 

<servlet>
		<servlet-name>GwtSpring</servlet-name>
		<servlet-class>com.gwtcrud.server.GwtSpring</servlet-class>
</servlet>

<servlet-mapping>
		<servlet-name>GwtSpring</servlet-name>
		<url-pattern>/gwtcrud/spring/*</url-pattern>
</servlet-mapping>
 

 

3.写远程接口

 

/**
 * 调用spring容器中id为carService的对象
 * @author Administrator
 *
 */
@RemoteServiceRelativePath("spring/carService")
public interface CarService extends RemoteService{
	public Car getCar();
	public Car saveCar(Car car);
	public List<Car> getAllCars();
}
 

 

分享到:
评论

相关推荐

    gwt spring整合资源下载

    标题 "gwt spring整合资源下载" 暗示了这个压缩包包含的是一些关于将Google Web Toolkit (GWT) 和Spring框架整合的资源。GWT是一个用于构建高性能、交互式JavaScript应用程序的Java开发框架,而Spring是一个广泛使用...

    smartGwt、spring、Mybatis整合

    本项目"smartGwt、spring、Mybatis整合"就是一个很好的例子,它将三种流行的技术——SmartGWT、Spring和Mybatis融合在一起,创建了一个包含登录功能和分页查询功能的应用。以下是关于这三个技术及其整合方式的详细...

    gwt+spring

    5. **安全集成**:整合GWT和Spring时,还要考虑安全问题。可以利用Spring Security来保护应用程序,控制用户访问权限,实现认证和授权。 6. **RPC通信**:GWT使用Remote Procedure Call (RPC)机制与服务器通信。你...

    gwt+spring+hibernate

    标题 "gwt+spring+hibernate" 涉及的是一个使用Google Web Toolkit (GWT)、Spring框架和Hibernate ORM技术的集成示例。这是一个常见的Web应用开发组合,用于构建高效、可扩展且功能丰富的Java web应用程序。下面将...

    GWT与Spring整合经典文章

    【GWT与Spring整合】是现代企业级应用开发中的一个重要话题。Google Web Toolkit (GWT) 是一个由Google开发的开源工具包,它允许开发者使用Java编写富互联网应用(RIA),然后自动将其编译为高效的JavaScript代码。...

    smartgwt + spring + hibernate

    为了整合这三个框架,开发者需要配置Spring的ApplicationContext,声明SmartGWT的视图组件和Spring的业务层bean。同时,需要设置Hibernate的SessionFactory,通过Hibernate的Configuration类加载数据库配置,并创建...

    GWT+Spring demo- springgwt_sudoku

    【标题】"GWT+Spring demo- springgwt_sudoku" 涉及的主要知识点是Google Web Toolkit (GWT) 和Spring框架的整合应用。这是一个实际的项目示例,展示了如何将GWT的客户端能力与Spring的服务器端功能相结合,以创建一...

    spring集成gwt的办法

    本文将深入探讨如何将这两个强大的技术进行集成,以便利用Spring的强大功能来管理和控制GWT应用程序的后端逻辑。 **一、Spring框架简介** Spring是一个全面的Java企业级应用开发框架,它提供了依赖注入(Dependency...

    gwt_spring-nolib.zip

    GWT(Google Web Toolkit)和Spring框架的集成是企业级Web应用开发中常见的技术组合。GWT是一款由Google开发的开源工具,它允许开发者使用Java语言编写客户端代码,然后自动编译为高效的JavaScript,实现丰富的...

    GWT整合Spring

    【GWT整合Spring】是指将Google Web Toolkit (GWT) 应用程序与Spring框架集成,以便利用Spring的强大功能,如依赖注入、事务管理、安全控制等。GWT 是一个用于构建高性能、富客户端Web应用的Java开发工具,而Spring...

    smartgwt+mybatis+spring的整合

    SmartGwt、Mybatis与Spring的整合是企业级Java应用开发中的常见技术栈组合,这三种框架各有其专长,可以高效地构建出强大的后台系统。SmartGwt是一款基于GWT(Google Web Toolkit)的开源UI组件库,提供丰富的用户...

    GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合

    GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合,也可以上新浪博客去看 http://blog.sina.com.cn/s/blog_687dfecb0100yrmf.html

    gwt-spring

    这个项目可能是为了展示如何在GWT应用中集成Spring,以便利用Spring的强大功能,如服务管理、数据访问和安全控制。 描述中的"springone springgwt_sudoku demo"表明这是一个具体的示例应用,可能是一个基于Sudoku的...

    Ext-Gwt(GWT)开发实例(整合Spring +Hibernate)

    标题 "Ext-Gwt(GWT)开发实例(整合Spring +Hibernate)" 涉及到的是一个实际项目开发的教程,其中结合了三个重要的技术框架:Google Web Toolkit (GWT),Spring 和 Hibernate。这个实例旨在展示如何在Web应用开发中...

    Spring4GWT技术资料

    3. **Spring4GWT的集成**:Spring4GWT允许GWT应用使用Spring的依赖注入,使服务层更容易管理和测试。通过Spring4GWT,开发者可以在GWT客户端直接调用服务器端的服务,而无需手动创建和管理远程服务实例。 4. **...

    搭建简单的EXT-GWT(GXT)的开发环境(三)gxt结合spring和hibernate进行数据操作

    本篇文章将聚焦于如何在EXT-GWT中整合Spring框架和Hibernate ORM,以实现高效的数据操作。 首先,让我们了解EXT-GWT(GXT)的核心概念。EXT-GWT是GWT的一个扩展,它提供了大量的UI组件,如表格、树、表单等,以及...

    gxt、gwt与spring结合使用

    2. **服务代理(Service Proxy)**:GWT的远程服务调用(RPC)机制可以与Spring的Service层无缝集成,实现客户端与服务器端的通信。GXT同样可以利用GWT的RPC机制,或者使用RESTful API与Spring服务进行交互。 3. **...

Global site tag (gtag.js) - Google Analytics