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整合资源下载" 暗示了这个压缩包包含的是一些关于将Google Web Toolkit (GWT) 和Spring框架整合的资源。GWT是一个用于构建高性能、交互式JavaScript应用程序的Java开发框架,而Spring是一个广泛使用...
本项目"smartGwt、spring、Mybatis整合"就是一个很好的例子,它将三种流行的技术——SmartGWT、Spring和Mybatis融合在一起,创建了一个包含登录功能和分页查询功能的应用。以下是关于这三个技术及其整合方式的详细...
5. **安全集成**:整合GWT和Spring时,还要考虑安全问题。可以利用Spring Security来保护应用程序,控制用户访问权限,实现认证和授权。 6. **RPC通信**:GWT使用Remote Procedure Call (RPC)机制与服务器通信。你...
标题 "gwt+spring+hibernate" 涉及的是一个使用Google Web Toolkit (GWT)、Spring框架和Hibernate ORM技术的集成示例。这是一个常见的Web应用开发组合,用于构建高效、可扩展且功能丰富的Java web应用程序。下面将...
【GWT与Spring整合】是现代企业级应用开发中的一个重要话题。Google Web Toolkit (GWT) 是一个由Google开发的开源工具包,它允许开发者使用Java编写富互联网应用(RIA),然后自动将其编译为高效的JavaScript代码。...
为了整合这三个框架,开发者需要配置Spring的ApplicationContext,声明SmartGWT的视图组件和Spring的业务层bean。同时,需要设置Hibernate的SessionFactory,通过Hibernate的Configuration类加载数据库配置,并创建...
【标题】"GWT+Spring demo- springgwt_sudoku" 涉及的主要知识点是Google Web Toolkit (GWT) 和Spring框架的整合应用。这是一个实际的项目示例,展示了如何将GWT的客户端能力与Spring的服务器端功能相结合,以创建一...
本文将深入探讨如何将这两个强大的技术进行集成,以便利用Spring的强大功能来管理和控制GWT应用程序的后端逻辑。 **一、Spring框架简介** Spring是一个全面的Java企业级应用开发框架,它提供了依赖注入(Dependency...
GWT(Google Web Toolkit)和Spring框架的集成是企业级Web应用开发中常见的技术组合。GWT是一款由Google开发的开源工具,它允许开发者使用Java语言编写客户端代码,然后自动编译为高效的JavaScript,实现丰富的...
【GWT整合Spring】是指将Google Web Toolkit (GWT) 应用程序与Spring框架集成,以便利用Spring的强大功能,如依赖注入、事务管理、安全控制等。GWT 是一个用于构建高性能、富客户端Web应用的Java开发工具,而Spring...
SmartGwt、Mybatis与Spring的整合是企业级Java应用开发中的常见技术栈组合,这三种框架各有其专长,可以高效地构建出强大的后台系统。SmartGwt是一款基于GWT(Google Web Toolkit)的开源UI组件库,提供丰富的用户...
GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合,也可以上新浪博客去看 http://blog.sina.com.cn/s/blog_687dfecb0100yrmf.html
这个项目可能是为了展示如何在GWT应用中集成Spring,以便利用Spring的强大功能,如服务管理、数据访问和安全控制。 描述中的"springone springgwt_sudoku demo"表明这是一个具体的示例应用,可能是一个基于Sudoku的...
标题 "Ext-Gwt(GWT)开发实例(整合Spring +Hibernate)" 涉及到的是一个实际项目开发的教程,其中结合了三个重要的技术框架:Google Web Toolkit (GWT),Spring 和 Hibernate。这个实例旨在展示如何在Web应用开发中...
3. **Spring4GWT的集成**:Spring4GWT允许GWT应用使用Spring的依赖注入,使服务层更容易管理和测试。通过Spring4GWT,开发者可以在GWT客户端直接调用服务器端的服务,而无需手动创建和管理远程服务实例。 4. **...
本篇文章将聚焦于如何在EXT-GWT中整合Spring框架和Hibernate ORM,以实现高效的数据操作。 首先,让我们了解EXT-GWT(GXT)的核心概念。EXT-GWT是GWT的一个扩展,它提供了大量的UI组件,如表格、树、表单等,以及...
2. **服务代理(Service Proxy)**:GWT的远程服务调用(RPC)机制可以与Spring的Service层无缝集成,实现客户端与服务器端的通信。GXT同样可以利用GWT的RPC机制,或者使用RESTful API与Spring服务进行交互。 3. **...