用eclipse创建一个最简单的velocity项目

必备环境:

JDK(不低于1.6建议1.7)、 eclipse java EE版 、tomcat(不低于5建议7.0)

为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,有两个注意地方:

一是修改代码文件输出路径,默认是build\classes。这个不符合tomcat的要求,需要改成下面这样:

二是勾选 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模板文件

在WebContent下添加一个文件夹,我起名叫templates。在该文件下添加一个hello.vm文件,里面内容:


Sample velocity page

	

Hello Velocity

#foreach ($name in $theList) #end
Names
$name

第四步:添加java类文件

在Java Resource -> src下新建一个包,包名称我取名叫velocityHandler,名称随意,后面配置文件里要用到,前后一致就行。

在该包下添加一个类,类名我叫HelloHandler,这个也随意,道理同上。

类的代码:

package 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;  

	@Override
    public void init() throws ServletException{  

	   //velocity引擎对象                  
       velo = new VelocityEngine(); 
       
       //设置vm模板的装载路径
       Properties prop = new Properties();
       String path = this.getServletContext().getRealPath("/");
       prop.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path + "templates/");
       
       try {
          //初始化设置,下面用到getTemplate("*.vm")输出时
          //一定要调用velo对象去做,即velo.getTemplate("*.vm")
          velo.init(prop);
         } catch (Exception e1) {
          e1.printStackTrace();
         }
    }
	
	@SuppressWarnings("unchecked")
	@Override
	protected Template handleRequest(HttpServletRequest request,
			HttpServletResponse response, Context ctx) {
		
		String p1 = "Hoffman";
		String p2 = "Song";
		@SuppressWarnings("rawtypes")
		Vector personList = new Vector();
		personList.addElement(p1);
		personList.addElement(p2);
		ctx.put("theList", personList); //将模板数据 list放置到上下文环境context中
	
	    Template template = velo.getTemplate("index.vm");
		return template;
	}
}

第五步:配置

打开WEB-INF下的web.xml文件,设置为下面内容:



	
		velocity
		org.apache.velocity.tools.view.VelocityViewServlet
	
	
		velocity
		*.vm
	
	
	
	
		hello
		velocityHandler.HelloHandler
	
	
		hello
		/hello
	

	
		/templates/index.vm
	
至此一个最简单的velocity项目创建完毕:


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

测试:

复制项目文件夹中的WebContent:

放在tomcat下:


这里你可以给文件夹改名

启动tomcat ,输入下面网址:


哈哈,最简单的一个velocity项目成功了!

velocity包下载

项目下载


你可能感兴趣的:(java,web)