一个java框架的开发日记(2)

原创 2011年01月18日 22:08:00

今天1.0版本已经有一个雏形了,以后会加入更多的东西。

先介绍下我的思路吧。

第一步、是velocity引擎,我使用一个取路径的类来寻找已经设计好的模版文档,将其中的模版标签替换,将其作为响应返回给浏览器。

代码:

 

第二步、修改web.xml文件将其所有的sevlet路径都指向我自己定义的类。

第三步。建立自己的类VatanaSevlet类。类中调用VatanaController的call()作为控制器指定模型并取得一个字符串作为视图索引。

调用VelocityEnginee的show()方法呈现视图给浏览器。

第四步、控制器VatanaController。

可以看到该类并没有完成。其中URL分析部分还需完善。

其主要作用是分析url,变换成相应的动作指令,使用java的反射机制进行调用。这个思路来源于rails,在这里我想使用约定而不是xml配置文件。把一些东西限制定死了,可以集中人的注意力在处理逻辑上。

假如一个url是:http://localhost/vatana/action/method?param1=1&param2=2

那么作为控制器会自动寻找类Action的method方法,如果不写方法,默认为excute,username和password参数及其值,可以在params中找到。默认action是必须写的,如果不写,按照主页处理,将会定位到index页面,在这里我用的velocity模版的后缀是html.这样可以直接在浏览器中预览,方便设计。

第五步、一个模版类需要继承BaseModel类。然后创建一个自己的方法(或者重写excute方法)即可。

这样在继承类里就只需要重写excute类即可。在此,我有一点犹豫,excute方法是否应定义成抽象函数,

一个具体的模型类

注意上个类中的注册对象到模版,velocity是支持对自定义对象进行操作的。上面这个模型对应的视图模版可以这样写

 

最终呈现的结果会是

 

     你好 vatana,你的ID是1!

 

框架的大致流程就是这样子,使用vatana开发应用,只需要创建一个模版页,一个model类,就足够了。

当然这个框架还有很多需要扩充的地方,我认为url方面还有更多东西来做,url的创建,链接的管理,我打算用一个类管理超链接和form标签,这个类将会通过velocity模版展现在页面上,不需要开发人员每次都要遍历所有的模版去找要修改的内容。

这是第一版的代码,我在这里把model的包路径给定死了com.vatana.model,这是我自己用的一个路径,以后我打算做一个让此路径可以定制。但是每个项目只能做一次定制,我在这里把给模型类同名的package,这样不会导致所有的类型都集中在一个package下显的混乱。

 

为了方便开发,我打算写一段自动生成文件的程序,只需要一点点的配置,就可以得到我想要的一切--程序,视图模版。不需修改就能使用。

 

同时在这里做一下展望吧,在将来框架会更完善,集成jQuery,hibernate等更多的元素让每一个java程序员能够更敏捷开发web程序,

 

相关文章推荐

sql2java:一个古老但稳定的轻量级的ORM工具的使用说明

大约在2011年,我刚开始接触java开发的时候 ,接触的第一个ORM工具就是sql2java. 官网地址:https://sourceforge.net/projects/sql2java 这是...
  • 10km
  • 10km
  • 2017年07月14日 00:38
  • 651

自定义orm框架解决玩家数据持久化问题

使用持久化框架诸如Hibernate过于重量级,使用原生jdbc又显得非常啰嗦。本文通过几百行代码,演示一个轻量级的持久化框架。可以用于游戏服务端的数据持久化方案。...

深入Java日记——自己写一个ORM框架(2)

上一篇深入Java日记——自己写一个ORM框架(1)中提到了如何将数据库的表生成对象的JavaBean,这篇博客就讲一下如何利用JavaBean增删改查,主要行为是拼接sql语句 1.增 首先要写...

一个java框架的开发日记(1)

最近要做个web项目,准备使用velocity+sevlet,网上查一下发现相关资料还是很少的,应该是老技术的缘故,用的人不多吧。作为企业来讲我们不管什么技术,只要能解决问题就行。velocity框架...
  • vatana
  • vatana
  • 2011年01月18日 11:49
  • 523

黑马程序员_Java学习日记10_集合框架2

----------------------android培训、java培训、期待与您交流! --------------------- 1.Map集合 Map |--Hashtable:底...

Java学习日记2(一个购物车小程序)

今天练习了一个登陆,然后能查看商品,查看购物车并且进行相关简单操作的小程序。...

黑马程序员_JAVA学习日记_JAVA中API:集合框架2(Map集合及其子集合)

黑马程序员-学习日记   黑马程序员_JAVA学习日记_JAVA中集合框架2(Map集合及其子集合)   ------- android培训、java培训、期待与您交流! ----------...

Java开发:J2EE OA 项目开发日记

  • 2009年10月25日 08:53
  • 407KB
  • 下载

[MyBatis日记](2)MyBatis创建一个简单项目

使用MyBatis的前提条件是你电脑上已经安装了JDK与MySQL,在这我们不赘述这些东西,重点还是怎么利用MyBatis创建一个简单的演示项目。 1. 数据库准备工作 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个java框架的开发日记(2)
举报原因:
原因补充:

(最多只允许输入30个字)