开发环境

        Eclipse Java EE IDE for Web Developers.(Version: Helios Service Release 1)

jdk1.6.0_07

apache-tomcat-6.0.10

首先需要为eclipse安装velocity编辑插件:

在Eclipse的Help->Install New Software...

点击“Add加 Veloeclipse,值:http://veloeclipse.googlecode.com/svn/trunk/update/

备注:如果无法安装,在安装插件的界面中把 Group Items by Catagory 前打钩去掉

创建项目

打开eclipse,File -> New -> Other... -> Web -> Dynamic Web Projec  之后按照提示一路next;

注意1:修改代码文件输出路径,默认是build\classes;这个不符合tomcat的要求,需要改成WebContent\WEB-INF\classes 如下:

注意2:勾选 Generate web.xml deployment descriptor

添加velocity依赖包

velocity相关的包有十多个,下载解压后复制全部,粘贴到项目WebContent -> WEB-INF ->lib文件夹中

项目名右键菜单选择build path -> configure build path ->java build path ->libraries -> add jars 选择项目lib文件夹,选择全部jar最后点确认按钮

备注:velocity所需的jar包下载地址 http://download.csdn.net/detail/smilevt/4802244

添加velocity模板文件

在WebContent下添加一个文件夹,我起名叫templates。在该文件下添加一个hello.vm文件,里面内容如下:
                <html>
                        <head><title>Sample velocity page</title></head>
                        <body bgcolor="#ffffff">
                                <center>
                                        <h2>Hello My First Velocity</h2>
                                        <table width="100" cellpadding="5" cellspacing="1" bordercolor="#333333">
                                                <tr><td bgcolor="#eeeeee" align="center">name list</td></tr>
                                                #foreach ($name in $theList)
                                                <tr><td bgcolor="#6666FF" align="center">$name</td></tr>
                                                #end
                                        </table>
                                </center>
                        </body>
                </html>

添加java类文件

在Java Resource -> src下新建一个包,包名com.velocitydemo.velocityhandler,名称随意,后面配置文件里要用到,前后需要一致

在该包下添加一个类,类名HelloHandler,名称随意,道理同上

类的代码如下:

package com.velocitydemo.velocityhandler;
                import java.util.Properties;
                import java.util.Vector;
                import javax.servlet.ServletException;
                import javax.servlet.http.HttpServletRequest;
                import javax.servlet.http.HttpServletResponse;
                import org.apache.velocity.Template;
                import org.apache.velocity.app.Velocity;
                import org.apache.velocity.app.VelocityEngine;
                import org.apache.velocity.context.Context;
                import org.apache.velocity.tools.view.VelocityViewServlet;
                public class HelloHandler extends VelocityViewServlet {
                        private static final long serialVersionUID = 1L;
                        private VelocityEngine velo;
                        public void init() throws ServletException {
                                velo = new VelocityEngine();// velocity引擎对象
                                Properties prop = new Properties();// 设置vm模板的装载路径
                                String path = this.getServletContext().getRealPath("/");
                                prop.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path + "templates/");
                                try {
                                        velo.init(prop);// 初始化设置,下面用到getTemplate("*.vm")输出时;一定要调用velo对象去做,即velo.getTemplate("*.vm")
                                } catch (Exception e1) {
                                        e1.printStackTrace();
                                }
                        }
                        protected Template handleRequest(HttpServletRequest request, HttpServletResponse response, Context ctx) {
                                String p1 = "Charles";
                                String p2 = "Michael";
                                Vector personList = new Vector();
                                personList.addElement(p1);
                                personList.addElement(p2);
                                ctx.put("theList", personList); // 将模板数据 list放置到上下文环境context中
                                Template template = velo.getTemplate("hello.vm");
                                return template;
                        }
                }

        配置web.xml

打开WEB-INF下的web.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                   xmlns="http://java.sun.com/xml/ns/javaee"
                                   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
                                   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
                                   id="WebApp_ID" version="3.0">

<display-name>velocity-demo</display-name>

<servlet>
                                <servlet-name>velocity</servlet-name>
                                <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class>
                        </servlet>
                        <servlet-mapping>
                                <servlet-name>velocity</servlet-name>
                                <url-pattern>*.vm</url-pattern>
                        </servlet-mapping>

<servlet>
                                <servlet-name>hello</servlet-name>
                                <servlet-class>com.velocitydemo.velocityhandler.HelloHandler</servlet-class>
                        </servlet>
                        <servlet-mapping>
                                <servlet-name>hello</servlet-name>
                                <url-pattern>/hello</url-pattern>
                        </servlet-mapping>

<welcome-file-list>
                                <welcome-file>/hello</welcome-file>
                        </welcome-file-list>

</web-app>

至此一个最简单的velocity项目创建完毕

                注意:WEB-INF下的classes文件夹并不显示在项目结构图中

                

发布项目

                到这里可以把项目文件夹中的WebContent发布到Tomcat中进行测试了

                发布的方式参考地址(http://blog.csdn.net/smilevt/article/details/8212075

启动tomcat访问一个最简单的velocity项目

                

eclipse开发velocity实例(初学)的更多相关文章

  1. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

  2. Linux上搭建Hadoop2.6.3集群以及WIN7通过Eclipse开发MapReduce的demo

    近期为了分析国内航空旅游业常见安全漏洞,想到了用大数据来分析,其实数据也不大,只是生产项目没有使用Hadoop,因此这里实际使用一次. 先看一下通过hadoop分析后的结果吧,最终通过hadoop分析 ...

  3. SBT 构建scala eclipse开发

    scala eclipse sbt 应用程序开发 搭建Eclipse开发Scala应用程序的一般步骤 一.环境准备: 1.Scala : http://www.scala-lang.org/ 2.Sc ...

  4. Nutch搜索引擎(第4期)_ Eclipse开发配置

    1.环境准备 1.1 本期引言 前三期分别介绍了Nutch与Solr在Linux上面的安装,并做了简单的应用,这一期从开发的角度进行,因为我们日常最熟悉的开发环境是Windows,所以本期详细介绍Wi ...

  5. 使用MyEclipse可视化开发Hibernate实例

    2.7  使用MyEclipse可视化开发Hibernate实例 2.7节的例子源代码在配套光盘sourcecode/workspace目录的chapter02_first项目中. 这个实例主要演示如 ...

  6. 【转】使用NetBeans和Eclipse开发PHP应用程序

    [51CTO独家特稿]各位用户如果单独看NetBeans和Eclipse的市场占有率,你可能会认为使用其中任何一种IDE开发PHP应用程序都没有 问题,例如: 1.NetBeans:一款开源的集成开发 ...

  7. JavaEE:Eclipse开发工具的相关使用和XML技术

    Eclipse开发工具的知识点1.工程的属性(properties)1)Text file encoding  工程编码(在导入其他工程时,注意编码类型一致)2)Java build path设置cl ...

  8. Eclipse开发环境配置,打磨Eclipse,安装插件(适用3.4,3.5,3.6,3.7)

    转载自:http://elf8848.iteye.com/blog/354035 打磨Eclipse -- 磨刀不误砍柴工 -------------------------------------- ...

  9. 使用Eclipse开发动态Javaweb项目

    使用Eclipse开发动态Javaweb项目 一.Eclipse的使用 1. 把开发选项切换到 JavaEE 2. 可以在 Window -> Show View 中找到 Package Exp ...

随机推荐

  1. HDU 2087 剪花布条(KMP基础应用)

    KMP基础,注意输入 #include<cstdio> #include<cstring> #include<iostream> using namespace s ...

  2. FZU Problem 2029 买票问题(树状数组)

    当我看到题目是5秒的时候,压根没有想树状数组,一直奔着模拟队列去想了,最后也没搞定,赛后看到大神的题解才恍然大悟,原来如此,题目中有明显的暗示,求前n项和,骤然感叹,自己太low... 果然还是要多做 ...

  3. 三列布局,读《css那些事儿》

    1.两列定宽,中间自适应 要点:浮动.负边距效果.mainbox增加内容div并设置margin.:after清除浮动 原理:mainbox的浮动并将其宽度设置为100%,次要内容及侧边栏设置固定宽度 ...

  4. javascript中的原型继承

    在Javascript面向对象编程中,原型继承不仅是一个重点也是一个不容易掌握的点.在本文中,我们将对Javascript中的原型继承进行一些探索. 基本形式 我们先来看下面一段代码: <cod ...

  5. egret GUI 文本混排+文本链接的聊天解决方案【取巧法】

    ui方面: <e:Scroller verticalScrollPolicy="auto" width="468" height="620&qu ...

  6. Varnish Cache

    1 Varnish简介 Varnish是高性能且开源的反向代理服务器和HTTP加速器(cache server).其开发者Poul-Henning Kamp是FreeBSD核心的开发人员之一.Varn ...

  7. 深入浅出 - Android系统移植与平台开发(一)

    深入浅出 - Android系统移植与平台开发(一) 分类: Android移植2012-09-05 14:16 16173人阅读 评论(12) 收藏 举报 androidgitgooglejdkub ...

  8. 说说JSON和JSONP,浅析JSONP解决AJAX跨域问题

    说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服 ...

  9. 【转】 完美配置Tomcat的HTTPS

    Tomcat配置HTTPS的文章到处都有,过程也比较简单,随后文中会转一段过来. 但对于启用APR情况下报异常“java.lang.Exception: Connector attribute SSL ...

  10. HTML学习(八)列表和块

    无序列表无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记.无序列表始于 <ul> 标签.每个列表项始于 <li>.<ul type=“”> ...