一. 前段目录结构如下架构如下:

  

二. freemarker文件配置

  在 web.xml 文件中指定 spring 配置文件的位置

  

三. 配置springmvc-servlet.xml文件

  1)配置自动扫描包 -- 能读取到@Controller相关java包;

  2)默认的注解映射的支持 -- 读取静态文件;

  3)设置freemarker 的配置文件;

  4)设置对静态资源文件的访问;  

<?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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 配置自动扫描的包 -->
<context:component-scan base-package="com.ajs"></context:component-scan>
<!-- 默认的注解映射的支持 -->
<mvc:annotation-driven /> <!-- freemarker 的配置文件 -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/views"/>
</bean>
<!-- 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"/>
</bean> <!-- 对静态资源文件的访问(cache-period的作用暂时不知道) -->
<mvc:resources mapping="/images/**" location="/META-INF/resources/images/" cache-period="31556926" />
<mvc:resources mapping="/js/**" location="/META-INF/resources/js/" cache-period="31556926" />
<mvc:resources mapping="/css/**" location="/META-INF/resources/css/" cache-period="31556926" /> </beans>

  上述配置完成之后,在项目中可以访问到对应目录下的静态资源(css/js/images/ftl等)

四. 配置spring.ftl对于读取静态资源

  在webmvc对应的目录下copy出对应的spring.ftl文件,放在我们自己的项目中(也可以不copy设置好对应路径直接使用),如下所示:

  

五. 在 ftl文件中使用静态资源,如下给出示例文件  

<#import "../spring.ftl" as spring/> <!-- 找到spring.ftl的相对路径-->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>success</title> <link rel="stylesheet" type="text/css" href="<@spring.url '/css/default.css'/>"/>
<script type="text/javascript" src="<@spring.url '/js/jquery-1.12.3.min.js'/>"></script>
</head> <body class="bg">
<h4> success page</h4>
<a href="../index">Index</a>
<img src = "<@spring.url '/images/pig.png'/>"/>
<button id="chgBg">chgBg</button>
</body> <script type="text/javascript">
$(document).ready(function(){
$("#chgBg").click(function(){
$('body').css("background-color","yellow");
});
});
</script>
</html>

  此时 freemarker & 静态资源整合即完成;

SpringMVC-Spring-Hibernate项目搭建之三-- freemarker & 静态资源整合的更多相关文章

  1. JAVA WEB SpringMVC+Spring+hibernate 框架搭建【转】

    http://my.oschina.net/Thinkeryjgfn/blog/158951

  2. Maven搭建springMVC+spring+hibernate环境

    这次不再使用struts2做控制器,采用spring自己的springMVC框架实现. 首先,改写pom.xml文件,不需要struts2的相关jar了. pom.xml <project xm ...

  3. Springmvc+Spring+Hibernate搭建方法及实例

    Springmvc+Spring+Hibernate搭建方法及实例  

  4. Springmvc+Spring+Hibernate搭建方法

    Springmvc+Spring+Hibernate搭建方法及example 前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码 ...

  5. SpringMVC+Spring+Hibernate整合开发

    最近突然想认真研究下java web常用框架,虽然现在一直在用,但实现的整体流程不是很了解,就在网上搜索资料,尝试自己搭建,以下是自己的搭建及测试过程. 一.准备工作: 1/安装并配置java运行环境 ...

  6. SpringMVC+Spring+Hibernate的小样例

    Strusts2+Spring+Hibernate尽管是主流的WEB开发框架,可是SpringMVC有越来越多的人使用了.确实也很好用.用得爽! 这里实现了一个SpringMVC+Spring+Hib ...

  7. SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>

    此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...

  8. Spring MVC 项目搭建 -2- 添加service ,dao,junit

    Spring MVC 项目搭建 -2- 添加service ,dao,junit 1.dao public class Hero { private String name; public Strin ...

  9. Spring MVC 项目搭建 -1- 创建项目

    Spring MVC 项目搭建 -1- 创建项目 1.创建 Dynamic Web project (SpringDemo),添加相关jar包 2.创建一个简单的controller类 package ...

随机推荐

  1. 【51nod-1289】大鱼吃小鱼(思维)

    这道题我想的方法是用栈,每次去出栈顶两元素,比较是否相对,相对的话合并后压入栈.类似括号匹配. #include <bits/stdc++.h> using namespace std; ...

  2. 关于python中urllib.urlencode的时候出错:UnicodeEncodeError: ‘ascii’的记录

    原文我参见了:http://hi.baidu.com/setcookie/item/ddc6b694b1f13435336eeb3c 为毛我要费事的写下了,就是为了让自己记录一下,下面的也是直接摘录过 ...

  3. 利用有道翻译Api实现英文翻译功能

    有道翻译提供了翻译和查词的数据接口.通过数据接口,您可以获得一段文本的翻译结果或者查词结果.       通过调用有道翻译API数据接口,您可以在您的网站或应用中更灵活地定制翻译和查词功能. 第一步: ...

  4. gradle 删除指定目录中的文件和目录

    // 删除bakAPk下的所有非母包文件 task deleTask(type: Delete){ FileTree tree = fileTree(dir: bakPath) tree.each { ...

  5. I2S音频总线学习(二)I2S总线协议

    http://blog.csdn.net/ce123_zhouwei/article/details/6919954

  6. GitHub原来也可以用SVN客户端的.

    不知道是不是自己真的太宅了. 一直以为只能用git client 来clone github工程的.  偶然今日发现还可以用 SVN 来下载的. 果断一试. 太好用了. 这回windows 上不用纠结 ...

  7. 求二叉树的深度 python

    二叉树有深度和高度两个属性,一个节点的深度指的是从根节点到该节点路径的长度,根节点的深度为1:一个节点的高度指的是从该节点到叶子节点所有路径上包含节点个数的最大值.叶子节点的高度为1,往上节点的高度依 ...

  8. grunt实现修改代码实时刷新浏览器

    grunt例子:https://github.com/Aquarius1993/gruntDemo grunt 实时刷新1:           1.安装chrome浏览器插件:liveReload ...

  9. linux 文件上传&软件安装(rpm)

    文件的上传与下载(linux -linux ) 实例1:从远处复制文件到本地目录命令:scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /o ...

  10. POJ1733 Parity game 【扩展域并查集】*

    POJ1733 Parity game Description Now and then you play the following game with your friend. Your frie ...