您的位置:首页 > 其它

续写一个二叉树的完整实现――前序・中序・后序・测试

2012-11-17 11:00 399 查看
随便写着玩玩.不要太认真哦^^

关于一大堆的理论就不讲了,什么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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: