随便写着玩玩.不要太认真哦^^
关于一大堆的理论就不讲了,什么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
分享到:
相关推荐
搭建简单的EXT-GWT(GXT)的开发环境
EXT-GWT(GXT) 2.2.4 JAVA API DOC chm 版.完美的的搜索功能,支持全文检索。2011年11月制作。如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。
EXT-GWT(GXT) 2.2.4 JAVA API DOC chm 版.完美的的搜索功能,支持全文检索。2011年6月制作。如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。
如果打不开,请选中它,点右键 看属性,选择解除锁定。 EXT-GWT(GXT)2.2.3 API DOC.chm 文档 支持搜索
NULL 博文链接:https://yx200404.iteye.com/blog/1157956
EXT-GWT 2.2.0 API DOC (gxt) chm 版 。 2010年10月制作。完美的搜索功能。如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。
NULL 博文链接:https://yx200404.iteye.com/blog/1156067
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 2.2.3 API DOC (gxt) chm 版,完美的的搜索功能,支持全文检索。2011年3月制作。如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。
EXT-GWT 2.2.2 API DOC (gxt) chm 版 。 2011年3月制作。完美的搜索功能。 如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。
gxt的下载非常好,ext-gwt的下载非常好
NULL 博文链接:https://digga2012.iteye.com/blog/1450696
我前一段用EXT-GWT(GXT)从事一个项目开发,看了很多这方面的资料,但我觉得该书是全面了解,使用EXT-GWT开发的最好的书。当然目前似乎不是有很多人使用它。我相信一旦你读了以后,会觉得它很值得参考。
鉴于网上关于ext-gwt的技术文章很少代码页很少本着开源的精神本人特地写了一个分页的组件供大家学习欢迎下载
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 java api 文档 chm格式方便查找2009年9月制作 注意:请到下面网址下载新版本, 新版本解决了旧版的部分搜索问题,并且api升级到了2.1.0版,EXT-GWT2.1.0 java api 文档 chm格式 2010年7月制作,地址...
extjs gwt gxt 学习资源 ajax技术
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").
Gwt-ext学习笔记,Gwt-ext学习笔记,Gwt-ext学习笔记