SpringFlex框架筹建之一

SpringFlex框架搭建之一
http://limingnihao.iteye.com/blog/774215
一、Spring环境的搭建
1.1 简单介绍
         Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
BlazeDS 是一个基于服务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging)技术,以LGPL(Lesser GNU Public License)公共许可证书发布。它能够使得后端的 Java 应用程序和运行在浏览器上的Adobe Flex 应用程序相互通信。在Java应用服务器上,它以servlet的形式存在, 因此可以在任何标准Java网络应用中运用它。
         Spring通过集成BlazeDS技术,使用AdobeFlex客户端技术整合福互联网的*解决方案。SpringFlex主要是Spring集成管理BlazeDS MessageBrober的技术。



1.2 需要的软件包
        使用maven的pom.xml配置文件的方式,添加spring和spring-flex的jar包。
        不使用maven项目,可以将下面这些软件包中的jar包,配置成相应的User Library,然后添加到项目中。(由于是自行配置Spring环境,所以需要另外添加logging、aspectj等jar包)。



spring-framework-3.0.3
spring-flex-1.5.0.M1
commons-httpclient-3.1
commons-logging-1.1.1
aopalliance
asm-3.3
aspectj-1.6.6
cglib-2.2
blazeds-turnkey-4.0.0


1.3 搭建Spring环境
        首先把Spring最基本的环境搭建起来,包括SpringMVC框架。


1.3.1新建java Web项目(带Maven)
依次选择:File->new->Web Project。
弹出下面对话框,填写相关信息。一路new。

如下图:









1.3.2加入Spring框架
右键单击项目文件,选择MyEclipse->Add Spring Capabilities
然后选择User Libraries。(这里我使用maven添加的Libraries,没有使用MyEclipse自带的)
配置文件的路径和名称。Next。

如图:








1.3.3使用pom.xml添加jar包
点击maven项目中的pom.xml文件,使用MyEclipse自带的maven pom编译器。
选择Dependencies。点击左上方的Add开始搜索,然后添加jar包。或者手动写dependencies下的dependency标签。
当我们添加一个jar包之后,就可以在Dependency Hierarchy视图上看到此包所依赖的jar包,一起引入到项目中。

如图:








1.3.4修改配置文件
修改web.xml文件。添加字符过滤,以及dispatcher。

Xml代码
1.<?xml version="1.0" encoding="UTF-8"?> 
2.<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
3.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
4.    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
5.    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
6. 
7.    <!-- 字符集 过滤器  --> 
8.    <filter> 
9.        <filter-name>CharacterEncodingFilter</filter-name> 
10.        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
11.        <init-param> 
12.            <param-name>encoding</param-name> 
13.            <param-value>UTF-8</param-value> 
14.        </init-param> 
15.        <init-param> 
16.            <param-name>forceEncoding</param-name> 
17.            <param-value>true</param-value> 
18.        </init-param> 
19.    </filter> 
20.    <filter-mapping> 
21.        <filter-name>CharacterEncodingFilter</filter-name> 
22.        <url-pattern>/*</url-pattern> 
23.    </filter-mapping> 
24. 
25.    <!-- Spring view分发器 --> 
26.    <servlet> 
27.        <servlet-name>dispatcher</servlet-name> 
28.        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
29.        <init-param> 
30.            <param-name>contextConfigLocation</param-name> 
31.            <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> 
32.        </init-param> 
33.        <load-on-startup>1</load-on-startup> 
34.    </servlet> 
35.    <servlet-mapping> 
36.        <servlet-name>dispatcher</servlet-name> 
37.        <url-pattern>*.do</url-pattern> 
38.    </servlet-mapping> 
39.      
40.</web-app> 
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- 字符集 过滤器  -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- Spring view分发器 -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

</web-app>



修改dispatcher-servlet.xml文件。添加相应的xmlns,xsi,添加视图解析器,mvc驱动等。

Xml代码
1.<aop:aspectj-autoproxy /> 
2.<mvc:annotation-driven /> 
3.<context:component-scan base-package="com.springFlex.example" /> 
4. 
5. 
6.<bean 
7.    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
8.    <property name="prefix" value="/WEB-INF/views/" /> 
9.    <property name="suffix" value=".jsp" /> 
10.</bean> 
<aop:aspectj-autoproxy />
<mvc:annotation-driven />
<context:component-scan base-package="com.springFlex.example" />


<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>


1.3.5编写Controller和RequestMapping
编写控制器类,以及页面映射方法。

Java代码
1.@Controller 
2.public class GeneralController {  
3. 
4.    @RequestMapping(value="index.do")  
5.    public void indexPage(){  
6.        System.out.println("访问页面 - index.jsp");  
7.    }  
8.} 
@Controller
public class GeneralController {

@RequestMapping(value="index.do")
public void indexPage(){
System.out.println("访问页面 - index.jsp");
}
}


1.3.6添加jsp页面
在WEB-INF下新建文件夹views,并新建一个jsp页面:index.jsp。





1.3.7测试
暂时没有定义service和data层,只定义view controller层做简单测试。
此时SpringMVC框架就都搭建完成。
配置tomcat并启动tomcat访问http://localhost:8080...../index.do,如果成功,说明Spring环境已经配置成功了。接下来配置Spring与Flex结合的环境。