`

基于注解的SpringMVC+freemarker环境搭建

    博客分类:
  • SSH
 
阅读更多
  1. 首先用IDE建一个web工程。(这个就不详细介绍了)
  2. 引入响应的jar包
  3. web.xml
    <!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><?xml version="1.0" ?>
    <web-app 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_3_0.xsd"
        version
    ="3.0">
        
    <!--  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>
    </web-app>

  4. SpringMVC另外一个重要的配置文件。
    DispatcherServlet会根绝web.xml中配置的<servlet-name>去找<servlet-name>-servlet.xml的文件来加载spring的一些配置信息。我这里就应该取名叫springmvc-servlet.xml
    <!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><?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:p
    ="http://www.springframework.org/schema/p" 
        xmlns:context
    ="http://www.springframework.org/schema/context"
        xsi:schemaLocation
    ="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-2.5.xsd"
    >
        
        
    <!--对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->
        
    <context:component-scan base-package="com.liba.spring.mvc"/>
        
        
    <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射   请求映射-->
        
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
        
            
    <!--以下三种视图配置根据需要任选一种即可 -->

        
    <!--  一般的视图配置 -->
        
    <!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
            p:prefix="/WEB-INF/view/" p:suffix=".jsp"/>
    -->
        
        
    <!-- 针对freemarker的视图配置 -->
        
    <bean id="viewResolver"
            class
    ="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
            
    <property name="cache" value="true" />
            
    <property name="prefix" value="" />
            
    <property name="suffix" value=".ftl" />
            
    <property name="contentType" value="text/html;charset=UTF-8"></property>
            
    <property name="requestContextAttribute" value="request" />
            
    <property name="exposeSpringMacroHelpers" value="true" />
            
    <property name="exposeRequestAttributes" value="true" />
            
    <property name="exposeSessionAttributes" value="true" />
        
    </bean>
            
            
        
    <!-- View resolvers can also be configured with ResourceBundles or XML files. 
            If you need different view resolving based on Locale, you have to use the 
            resource bundle resolver. 
    -->
        
    <!-- 这个是针对返回视图还是json值的视图配置   来分别处理同步和异步请求 -->
        
    <!--<bean
                class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
                <property name="mediaTypes">
                    <map>
                        <entry key="html" value="text/html" />
                        <entry key="json" value="application/json" />
                    </map>
                </property>
                <property name="favorParameter" value="true" />
                <property name="viewResolvers">
                    <list>
                        <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />
                        <bean id="viewResolver"
                            class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
                            <property name="cache" value="true" />
                            <property name="prefix" value="" />
                            <property name="suffix" value=".ftl" />
                            <property name="contentType" value="text/html;charset=UTF-8"></property>
                            <property name="requestContextAttribute" value="request" />
                            <property name="exposeSpringMacroHelpers" value="true" />
                            <property name="exposeRequestAttributes" value="true" />
                            <property name="exposeSessionAttributes" value="true" />
                        </bean>
                    </list>
                </property>
                <property name="defaultContentType" value="text/html" />
            </bean>
            
    -->
    </beans>

  5. 如果是使用freemarker最为视图模板需要再spring的配置文件applicationContext.xml中加入以下配置
    <!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><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>

  6. Controller建立
    <!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->import javax.servlet.http.HttpServletRequest;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.servlet.ModelAndView;

    @Controller
    public class SpringMvcController {

        @RequestMapping(value
    ="/welcome",method={RequestMethod.GET}
        
    public ModelAndView getFirstPage(HttpServletRequest request) {
                    
    //welcom就是视图的名称(welcom.ftl)
            ModelAndView mv = new ModelAndView("welcom");
            mv.addObject(
    "name""My First Spring Mvc");
            
    return mv;
        }

    }
    在url上敲http://localhost:8080/welcome就会到WEB-INF/view/welcom.ftl页面渲染数据
  7. welcom.ftl页面
    <!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    Hello ${name}
    </body>
    </html>

    页面出来的效果:

    Hello My First Spring Mvc

分享到:
评论

相关推荐

    大型商城网站springmvc+freemarker+velocity+ibatis

    标题 "大型商城网站springmvc+freemarker+velocity+ibatis" 暗示了这是一个基于SpringMVC、Freemarker、Velocity和iBatis框架构建的电子商务平台。这个项目可能是一个B2C(Business-to-Consumer)类型的商城,允许...

    用 SpringMVC+MyBatis 来搭建网站.7z

    在本文中,我们将深入探讨如何使用SpringMVC和MyBatis这两个流行的Java框架来搭建一个高效、可扩展的网站。SpringMVC作为Spring框架的一部分,主要用于处理Web应用程序的请求和响应,而MyBatis则是一个轻量级的持久...

    maven+springmvc+mybatis+freemarker整合框架

    在“maven+springmvc+mybatis+freemarker”框架整合中,Maven负责管理项目依赖,确保所有组件正确无误地协同工作。 **SpringMVC** SpringMVC是Spring框架的一部分,用于构建Web应用的Model-View-Controller(MVC)...

    maven+spring+springMvc+mybaits+freemarker

    这是一个基于Java技术栈的经典组合,通常用于构建Web应用程序。该框架集合了Maven、Spring、Spring MVC、MyBatis和FreeMarker,每部分都有其独特的功能和重要性。 **Maven** 是一个项目管理和综合工具,它管理项目...

    idea工具创建的Spring+SpringMVC+Hibernate+maven项目

    标题中的"idea工具创建的Spring+SpringMVC+Hibernate+maven项目"指的是使用IntelliJ IDEA这个集成开发环境(IDE)构建的一个Java Web项目,该项目整合了四个关键的技术框架:Spring、SpringMVC、Hibernate以及Maven...

    SpringMVC+JDBC快速搭建(使用注解)

    标题“SpringMVC+JDBC快速搭建(使用注解)”涉及的是如何利用SpringMVC框架与JDBC(Java Database Connectivity)技术快速构建一个基于注解的Web应用。在这个过程中,我们将探讨SpringMVC如何处理HTTP请求,以及如何...

    SpringMVC+MyBatis+Mysql环境搭建

    这个"lianjin"压缩包可能包含了项目所需的配置文件、源代码、数据库脚本等资源,用于快速搭建和运行一个基于SpringMVC、MyBatis和Mysql的Web应用。解压后,开发者可以根据文档说明进行部署和调试,以此为基础进行...

    springmvc+hibernate+freemarker+proxool需要的所有包

    "spring+hibernate包"可能包含了Spring MVC和Hibernate的相关依赖,如Spring的核心库、Spring MVC模块、Hibernate ORM库以及相关的JDBC驱动等,它们是搭建和运行一个基于Spring MVC、Hibernate的Java Web应用的基础...

    SpringMVC+freemarker

    通过注解驱动和配置驱动,SpringMVC 可以快速搭建应用,提高开发效率。 2. **Freemarker 简介** Freemarker 是一个动态模板语言,它的主要任务是将数据模型与模板结合,生成最终的 HTML 页面。Freemarker 使用简单...

    Spring+SpringMVC+Mybatis框架搭建所需jar包

    在Java Web开发中,Spring、SpringMVC和Mybatis是三个...正确引入这些jar包并配置相关XML或Java配置文件,就能搭建起一个完整的开发环境,便于编写业务逻辑代码和数据库操作,同时享受到这三个框架带来的高效和灵活性。

    SpringMVC精品资源--SpringMVC+Mybatis 脚手架.zip

    这个名为"SpringMVC精品资源--SpringMVC+Mybatis 脚手架.zip"的压缩包很可能包含了一个完整的项目模板或者学习资料,旨在帮助开发者快速搭建基于这两个框架的Web应用。 首先,SpringMVC是一个模型-视图-控制器(MVC...

    maven+springMVC+mybatis框架搭建

    在构建企业级Java应用时,通常会选择使用成熟的框架组合,如"Maven+SpringMVC+Mybatis"。这个框架组合提供了强大的项目管理、控制层处理和数据持久化能力。下面将详细阐述这三个组件的关键知识点。 **Maven**: ...

    权限管理系统SpringMvc+Spring+Mybatis整合升级版

    【权限管理系统SpringMvc+Spring+Mybatis整合升级版】是一个基于三大主流Java技术栈——SpringMVC、Spring和MyBatis构建的企业级权限管理系统的升级版本。这个系统旨在提供高效、安全、可扩展的用户权限控制,适用于...

    spring+springMVC+mybatis内容管理系统

    综上所述,这个"spring+springMVC+mybatis内容管理系统"结合了后端强大的SSM框架和前端美观的Layui,以及功能丰富的UEditor编辑器,实现了新闻展示和内容管理的高效、便捷。通过这些技术的整合,开发者可以快速构建...

    springMVC+mybatis搭建框架

    在IT行业中,构建高效、可扩展的Web应用是至关...总的来说,SpringMVC和MyBatis的结合使用能够提供一个灵活、高效、可扩展的Web应用开发环境。通过熟练掌握这两个框架,开发者可以构建出满足复杂业务需求的高质量应用。

    基于SSM+FreeMarker搭建的Java后台工程模板.zip

    总结,"基于SSM+FreeMarker搭建的Java后台工程模板"是一个完整的Java Web开发基础,它涵盖了从数据访问、业务逻辑到视图呈现的各个层面,为开发者提供了一个高效的开发起点。通过理解和掌握这些技术,可以更轻松地...

    springmvc+mybatis整合项目

    项目中的SQL脚本和数据初始化文件可以帮助快速搭建数据库环境并填充数据。 6. **整合优势** 整合SpringMVC和MyBatis的优势在于: - **解耦合**:通过Spring的依赖注入,降低了不同组件之间的耦合度。 - **灵活性...

    使用SpringMVC+Spring+Maven+Mybatis+shiro的框架

    综上所述,这个项目是基于这些组件搭建的企业级Web应用。SpringMVC和Spring负责业务逻辑和控制流程,Mybatis处理数据访问,Maven管理项目构建,而Shiro则提供安全控制。开发者需要根据实体类创建数据库表并进行相应...

    SSM(spring+springMVC+mybaits)整合框架

    只需更改数据库配置,即可适应不同的数据库环境,这也是"搭建的SSM框架,只需要更改新建数据库就能使用"这一描述的含义。通过这种方式,SSM提供了一种灵活且强大的解决方案,广泛应用于企业级应用开发。

Global site tag (gtag.js) - Google Analytics