A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM代景康 高级黑马   /  2013-10-1 20:20  /  2238 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

前言
    1.为什么要使用Spring MVC呢?
    2.为什么要使用Freemarker呢?
    3.为什么不使用Struts2呢?
    此示例出现的原因就是发现了struts2的性能太差,所以学习Spring MVC.又由于前一个项目使用的是Struts2+Freemarker写的,所以要替换Struts2就需要让Spring MVC也要支持Freemarker.
    项目准备
    1.Spring 包
    spring2.5.6.jar
    spring-aop.jar
    spring-beans.jar
    spring-context.jar
    spring-context-support.jar
    spring-core.jar
    spring-jdbc.jar
    spring-jms.jar
    spring-orm.jar
    spring-test.jar
    spring-tx.jar
    spring-web.jar
    spring-webmvc.jar
    spring-webmvc-portlet.jar
    spring-webmvc-struts.jar
    2.Freemarker包
    freemarker-2.3.19.jar
    加粗的部分为项目需要引入的包。
    开始我们的整合之旅吧!
    开发工具:NetBeans IDE 7.3.1
    一、新建web项目springMVCAndFreemarker
    二、将jar包引入项目
    spring.jar
    spring-webmvc.jar
    freemarker.jar
    依赖包
    commons-logging.jar
    三、配置web.xml
    WEB-INF/web.xml
    [html]
    !--  Spring 上下文参数 -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!--  Spring 容器启动器 -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <!--为DispatcherServlet建树映射 -->
    <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <!--  Spring 上下文参数 -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!--  Spring 容器启动器 -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <!--为DispatcherServlet建树映射 -->
    <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/*</url-pattern>
    </servlet-mapping>四、添加applicationContext.xml文件
    src/applicationContext.xml
    [html]
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    </beans>
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    </beans>
    接着在内容中添加Freemarker的支持配置
    [html]
    <!-- Freemarker配置 -->
    <bean id="freemarkerConfig"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/WEB-INF/view/" />
    <property name="freemarkerSettings">
    <props>
    <prop key="template_update_delay">0</prop>
    <prop key="default_encoding">UTF-8</prop>
    <prop key="number_format">0.##########</prop>
    <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
    <prop key="classic_compatible">true</prop>
    <prop key="template_exception_handler">ignore</prop>
    </props>
    </property>
    </bean>
    <!-- Freemarker配置 -->
    <bean id="freemarkerConfig"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/WEB-INF/view/" />
    <property name="freemarkerSettings">
    <props>
    <prop key="template_update_delay">0</prop>
    <prop key="default_encoding">UTF-8</prop>
    <prop key="number_format">0.##########</prop>
    <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
    <prop key="classic_compatible">true</prop>
    <prop key="template_exception_handler">ignore</prop>
    </props>
    </property>
    </bean>

五、添加spring MVC的servlet配置文件,命名规则(servlet-name+servlet.xml)
    WEB-INF/springmvc-servlet.xml
    [html]
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    </beans>
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    </beans>接着在内容中添加Spring MVC的配置
    [html]
    <!--视图解释器 -->
    <bean id="viewResolver"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="suffix">
    <value>.ftl</value>
    </property>
    <property name="contentType" value="text/html;charset=UTF-8"></property>
    </bean>
    <!--视图解释器 -->
    <bean id="viewResolver"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="suffix">
    <value>.ftl</value>
    </property>
    <property name="contentType" value="text/html;charset=UTF-8"></property>
    </bean>

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马