Velocity之Hello World(tomcat下配置Velocity)
本文主要参考:http://hi.baidu.com/dalianjingying/item/1fb3a98ad64dcac299255f72
http://wangbaoaiboy.blog.163.com/blog/static/52111910200710234721806/
1、配置需要的jar包:
(1.1)下载 velocity-tools-2.0.zip ,下载地址 http://archive.apache.org/dist/velocity/tools/
(1.2)解压velocity-tools-2.0.zip ,拷贝解压后到目录下的 lib 文件夹下,拷贝所有的jar包 到D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\webapps\webDemo\WEB-INF\lib (如果没有lib,则自己建立lib)
PS1:velocity-tools-2.0目录结构:
D:\Program Files (x86)\velocity-1.6.3\velocity-tools-2.0\velocity-tools-2.0 的
目录
2013/08/08 11:28 <DIR> .
2013/08/08 11:28 <DIR> ..
2013/08/08 11:28 618 CONTRIBUTORS
2013/08/08 11:28 <DIR> docs
2013/08/08 11:28 <DIR> examples
2013/08/08 11:28 <DIR> lib
2013/08/08 11:28 11,558 LICENSE
2013/08/08 11:28 465 NOTICE
2013/08/08 11:28 2,690 README.txt
2013/08/08 11:28 1,416 STATUS
2013/08/08 11:28 772 WHY_THREE_JARS.txt
6 个文件 17,519 字节
5 个目录 68,890,578,944 可用字节
PS2:
tools里有很多VTL页面用到的常用工具模块,相对jsp的常用工具来说,VTL将直接引用tools里的method进行事务处理,而不像jsp需要引用对象的属性来进行操作,省去了很多冗余的代码,方便页面制作者的眼睛。
2、配置velocityViewServlet
(2.1)在web.xml里面添加如下 <servlet> ***</servlet-mapping> 之间的配置
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--> <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"
metadata-complete="true"> <servlet>
<servlet-name>velocityView</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/toolbox.xml</param-value>
</init-param> <!--
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/velocity.properties</param-value>
</init-param>
--> <load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>velocityView</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping> </web-app>
作下解释,velocityView的servlet定义, 也就是VTL处理时将全权交给这个servlet,而下面几行servlet-mapping代码,定义了处理文件的后缀为.vm的文件将全数交给viewServlet处理,很简单吧?hoho
继续解释中间那段param设定,这里将用到一个toolbox的定义,引用toolbox的定义来初始化viewServlet
(2.2)在web.xml同级目录下新建 toolbox.xml,内容如下
<?xml version="1.0"?>
<toolbox>
<tool>
<key>date</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.DateTool</class>
</tool>
<tool>
<key>math</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.MathTool</class>
</tool>
</toolbox>
其实就是将一个标准时间和数学计算的class加载到viewServlet里,使得VTL可以处理简单的计算和时间显示:>
以上完成velocity的VTL配置。
3、重启tomcat,完成配置
4、写vm,验证vm运行结果
//HelloVelocity.vm
<html>
<body>
#set( $foo = "Velocity" )
Hello $foo World!
</body>
<html>
验证结果:
http://localhost:8888/webDemo/Velocity/HelloVelocity.vm
Hello Velocity World!
附录:
1、Velocity Tools 是 Velocity 模板引擎的一个子项目,用来将
Velocity 与 Web开发环境集成的工具包。例如你可以利用 VelocityTools 来集成 Velocity 和 Struts 框架,同时
VelocityTools 还提供 Velocity 的布局模板,以及很多常用的工具包。[1]
Velocity之Hello World(tomcat下配置Velocity)的更多相关文章
- Tomcat 下配置一个ip绑定多个域名
原文:http://pkblog.blog.sohu.com/68921246.html 在网上找了半天也没找到相关的资料,都说的太含糊.本人对tomcat下配置 一ip对多域名的方法详细如下,按下面 ...
- 【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- 在Tomcat下配置Solr 4.x 版本
solr是一款非常优秀的全文检索服务器,最新版本在配置和前台页面上都做了较大的改动, 所以对用惯了老版本的朋友们来说,再重新配置新版本的solr,无疑又是一件痛苦的事情. 配置环境:windows ...
- tomcat下配置https环境
在网上搜了一下,内容不是非常完好. 现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin文件夹 (2)输入例如以下指令"keytool -v -genkey -alias ...
- Springmvc +JNDI 在Tomcat下 配置数据源(转)
一. 简介 jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务 ...
- tomcat 下配置ajax 跨域 tomcat font face 跨域 java跨域
tomcat ajax跨域和css字体 font face 跨域一样适用 CORS介绍 它在维基百科上的定义是:跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式 ...
- tomcat下配置https环境(windows环境)
在网上搜了一下,内容不是很完善.现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin目录 (2)输入如下指令“keytool -v -genkey -alias tomcat -ke ...
- tomcat下配置https方式
[本地HTTPS]①.<Connector SSLEnabled="true" clientAuth="false" keystoreFile=" ...
- tomcat下配置jndi数据源c3p0
Tomcat下通过JNDI配置数据源,使用c3p0连接池 首先在打开tomcat找到在conf文件下,找到server.xml 在server.xml文件中找到标签 在下面添加如下配置 <Res ...
- Tomcat下配置JNDI的三种方式
最近在整理项目上的配置文件,正好看到了数据源配置,想着配置方式有多种,便趁热打铁,记录下常规的Tomcat配置数据源的方式 1.单个工程配置 找到Tomcat下的server.xml文件,在Conte ...
随机推荐
- http方式内网搭建CDH6.3.2与部分组件优化
Cloudera_Manager_6.3.2安装配置文档 1. 配置准备 Cloudera Manager (简称CM)用于管理CDH6集群,可进行节点安装.配置.服务配置等,提供Web窗口界面提高了 ...
- Linux 脚本:冒泡排序
#!/bin/bash arr=(3 2 5 4 1) len=${#arr[@]} for i in $(seq 1 $len) ; do index=$(($len - $i - 1)) for ...
- 如何用 Java 写一个 Java 虚拟机
项目链接 https://github.com/FranzHaidnor/haidnorJVM haidnorJVM 使用 Java17 编写的 Java 虚拟机 意义 纸上得来终觉浅,绝知此事要躬行 ...
- Go 语言 select 都能做什么?
原文链接: Go 语言 select 都能做什么? 在 Go 语言中,select 是一个关键字,用于监听和 channel 有关的 IO 操作. 通过 select 语句,我们可以同时监听多个 ch ...
- mysql根据mysqlbinlog恢复找回被删除的数据库
年初和朋友一起做了个项目,到现在还没收到钱呢,今天中午时候突然听说之前的数据库被攻击了,业务数据库全部被删除.看有没有什么办法恢复,要是恢复不了,肯定也别想拿钱了吧? README FOR RECOV ...
- 转 致创业者:APP已死 服务永生
前几日,有位创业者和我讲他在带领团队做一个将爱踢球的人集中在一起的App,我告诉他你的创业方向错了.原因在于你的目的是要为爱踢球的人提供服务,而你现在却在竭尽全力的做App,你应该做的是设计你为爱踢球 ...
- Programming abstractions in C阅读笔记p111-p113: boilerplate
<Programming Abstractions In C>学习第47天,p111-p113,总结如下: 一.技术总结 1.boilerplate /* * File: random.h ...
- 震惊!强大的接口自动化测试框架2.0,unittest与pytest无缝穿插对接,可以像postman一样编写代码
theme: fancy highlight: arta 项目介绍 接口自动化测试项目2.0 软件架构 本框架主要是基于 Python + unittest + ddt + HTMLTestRunne ...
- 玄 - 利用DLL通知回调函数注入shellcode(上)
序 偶然看到某国外大佬发布新技术-"Threadless"进程注入技术,据说可过EDR(确实可),总结该技术原理 - 在远程目标进程中利用DLL通知回调机制执行shellcode, ...
- Set Concept
集合(Set)就是一种用来装事物的容器(或者称为结构),它所装的东西叫元素.集合这个容器的逻辑性很强,可以说是现在比较严谨的工具. 集合里的元素,它们可以是任何类型的数学对象:数字.符号.变量.空间中 ...