`
yx200404
  • 浏览: 78556 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

搭建简单的EXT-GWT(GXT)的开发环境(二)添加spring进行servlet拦截

阅读更多
随便写着玩玩.不要太认真哦^^

关于一大堆的理论就不讲了,什么MVC之类的,老人不削一看,新人又看不懂

总结一下其实是我也不清楚.^^哈哈.

再我看来,添加spring进来就是为了简化RPC的服务端代码,然后在其中注入dao比较方便..没其他的了~

1.首先把spring2.5中的spring.jar,spring-webmvc.jar,aspectjrt.jar等等jar包添加到项目中.

2.创建一个包,然后添加一个Controller类进来.这个类要代替RPC服务的继承父类,所以我们把这个Controller继承RemoteServiceServlet,这样,以后RPC的服务就可以直接继承这个Controller了
然后让这个Controller实现几个口:Controller,ServletConfigAware,ServletContextAware.这里就不说为什么要继承这几个接口了.下面就是这个类的所有代码.
package com.yx.map.spring;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.context.ServletConfigAware;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;

/**
 * 
 * @author yx200404
 *
 * 2011-8-22
 */
public class GWTController extends RemoteServiceServlet implements Controller,
		ServletConfigAware,ServletContextAware {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2275269119904991518L;
	/*  */
	private ServletContext servletContext;

	@Override
	public void setServletConfig(ServletConfig arg0) {
		try {
			super.init(arg0);
		} catch (ServletException e) {
			e.printStackTrace();
		}
	}
	
	@Override
	public void init(ServletConfig config) throws ServletException {
		super.init(config);
	}
	
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		doPost(request, response);
		return null;
	}

	@Override
	public void setServletContext(ServletContext servletContext) {
		this.servletContext = servletContext;
	}

	@Override
	public ServletContext getServletContext() {
		return servletContext;
	}
}



3.改造GreetingService让它处于spring的监管下
  打开GreetingService,然后去掉 @RemoteServiceRelativePath("greet") 注解.
  打开GreetingServiceImpl,修改父类为我们刚刚写的Controller
public class GreetingServiceImpl extends GWTController implements
		GreetingService 

然后给它添加一个注解 @Service("greetingService"),这个service是org.springframework.stereotype此包下的.
@Service("greetingService")
public class GreetingServiceImpl extends GWTController implements
		GreetingService


4.修改web.xml
<web-app>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:spring/*.xml</param-value>
	</context-param>

	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<servlet>
		<servlet-name>gwtrpc</servlet-name>
		<servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>gwtrpc</servlet-name>
		<url-pattern>*.gwt</url-pattern>
	</servlet-mapping>

	<!-- Default page to serve -->
	<welcome-file-list>
		<welcome-file>GoogleMapV3.html</welcome-file>
	</welcome-file-list>

</web-app>


5.修改GoogleMapV3.gwt.xml,添加servlet
<servlet class="com.yx.map.server.GreetingServiceImpl"
		path="/greetingService.gwt" />


6.给项目添加一个spring配置文件.具体做法是在项目中添加一个源包resources,然后在里面添加一个包spring,然后添加applicationContext.xml到其中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:jee="http://www.springframework.org/schema/jee"
	xsi:schemaLocation="
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
     http://www.springframework.org/schema/jee
       http://www.springframework.org/schema/jee/spring-jee-2.5.xsd"
	default-autowire="byName">

	<context:component-scan base-package="com.yx" />

</beans>


7.为GXT注册新的servlet地址,添加以下代码到你自己的代码中就可以了
public static final String Greeting_SERVICE = "/greetingService.gwt";

public void onModuleLoad() {

		ServiceDefTarget endpoint = (ServiceDefTarget) greetingService;
		String moduleRelativeURL = Greeting_SERVICE;
		endpoint.setServiceEntryPoint(moduleRelativeURL);
		Registry.register(Greeting_SERVICE, greetingService);

		// 设置样式
		GXT.setDefaultTheme(Theme.GRAY, true);
                //.....下面的代码不变



好了...重新启动下,看看效果是不是一样的呢?^^

过会再发个gxt配合Hibernate使用的方案.

http://www.nptpark.com
1
2
分享到:
评论
1 楼 200720072007 2012-04-01  
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/gwtrpc-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/gwtrpc-servlet.xml]

这里是不是少文件了

相关推荐

    搭建简单的EXT-GWT(GXT)的开发环境(四)ext-gwt(gxt)结合google map第三版开发

    在本篇内容中,我们将探讨如何搭建一个简单的EXT-GWT(GXT)开发环境,并将其与Google Maps API第三版集成。 首先,搭建EXT-GWT开发环境涉及以下步骤: 1. **安装Java Development Kit (JDK)**:EXT-GWT是基于Java...

    EXT-GWT(GXT) 2.2.4 JAVA API DOC chm 版

    EXT-GWT,全称为Ext GWT,是Sencha公司推出的一款基于Java的开源富互联网应用程序(Rich Internet Application,RIA)开发框架。GXT是EXT-GWT的简称,它提供了丰富的用户界面组件,允许开发者用Java代码来构建复杂的...

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

    总结起来,EXT-GWT与Spring和Hibernate的集成是企业级Web应用开发的一种常见实践,它利用了GWT的富客户端能力,Spring的服务管理,以及Hibernate的数据库操作便捷性。通过学习和掌握这种集成方式,开发者可以构建出...

    搭建简单的EXT-GWT(GXT)的开发环境

    本文将详细介绍如何搭建一个简单的EXT-GWT(GXT)开发环境。 首先,你需要安装Eclipse集成开发环境以及Google Plugin for Eclipse。Google Plugin for Eclipse包含了GWT的开发工具,使得在Eclipse中编写、测试和...

    EXT-GWT(GXT)2.2.3 API DOC.zip

    EXT-GWT,全称为Ext GWT,是Sencha公司开发的一个强大的Java库,用于构建富互联网应用程序(RIA)。GXT是EXT-GWT的扩展,它提供了更多组件、样式和功能,使得开发者能够创建出与桌面应用相媲美的用户体验。GXT 2.2.3...

    EXT-GWT(GXT) 2.2.5 JAVA API DOC chm 版

    EXT-GWT(GXT) 2.2.4 JAVA API DOC chm 版.完美的的搜索功能,支持全文检索。2011年11月制作。如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。

    EXT-GWT 2.2.0 API DOC (gxt) chm版

    EXT-GWT 2.2.0 API DOC (gxt) chm 版 。 2010年10月制作。完美的搜索功能。如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。

    ext-gwt分页 鉴于网上关于ext-gwt的技术文章很少代码页很少本着开源的精神本人特地写了一个分页的组件供大家学习欢迎下载

    EXT-GWT,全称是Ext GWT,是Sencha公司推出的一个用于构建富客户端Web应用的JavaScript库。它基于Google的GWT(Google Web Toolkit)技术,提供了丰富的用户界面组件和强大的数据绑定机制,使得开发者可以使用Java...

    gxt-2.1.1-gwt2 最新的

    gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2

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

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

    EXT-GWT 2.2.3 API DOC (gxt) chm 版

    EXT-GWT 2.2.3 API DOC (gxt) chm 版,完美的的搜索功能,支持全文检索。2011年3月制作。如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。

    EXT-GWT 2.2.2 API DOC (gxt) chm 版

    EXT-GWT 2.2.2 API DOC (gxt) chm 版 。 2011年3月制作。完美的搜索功能。 如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。

    更新的ext-gwt选课系统

    EXT-GWT(Ext GWT)是Sencha公司开发的一个强大的JavaScript库,它允许开发者使用Java语言来编写富互联网应用程序(Rich Internet Applications,RIA)。EXT-GWT提供了丰富的组件库,包括表格、面板、表单、菜单等,...

    ext-gwt的下载非常好

    gxt的下载非常好,ext-gwt的下载非常好

    EXT-GWT 2.1.0 API Doc chm版(新版本已可用)

    EXT-GWT2.1.0 java api 文档 chm格式方便查找2010年7月制作 完美的搜索,支持全文检索功能。另新版本EXT-GWT2.2.0 java api 已可用请到http://download.csdn.net/source/2700814 下载

    EXT-GWT2.0.1 API DOC.chm(新版本已可用请看软件说明)

    EXT-GWT2.0.1 java api 文档 chm格式方便查找2009年9月制作 注意:请到下面网址下载新版本, 新版本解决了旧版的部分搜索问题,并且api升级到了2.1.0版,EXT-GWT2.1.0 java api 文档 chm格式 2010年7月制作,地址...

    GWT EXT 教程全集

    " Gwt-Ext学习笔记之基础篇.doc "、" Gwt-Ext学习笔记之中级篇.doc "、" Gwt-Ext学习笔记之进级篇.doc "这三份文档,按照从基础到进阶的顺序,系统地介绍了EXT-GWT的使用技巧和实践案例。基础篇可能涵盖EXT-GWT的...

    gxt-2.2.4 EXT GWT

    gxt-2.2.4 EXT GWT Note : Ext GWT 2.X requires GWT 1.7+ or GWT 2.0+ (any build ending in "-gwt2.zip").

Global site tag (gtag.js) - Google Analytics