自己写的类Struts框架

在医院的那几天里,闲着无事,想着写点东西玩玩,结果想到写一个类似Struts的小框架。大概花了3,4天时间吧,总算搞定了,还有几个地方没怎么完善,比方说类型转换器(Converter)那里一块,不管了反正是写着好玩的。考虑到可能对某些初学者有点好处,就拿出来晾晾,呵呵。

下面我就几个主要文件做些说明:

configure.xml文件:

   该文件主要是框架的配置文件,包括Action,Form(本来准备把JDBC连接池和类Spring IOC的内容也添上的,不过没什么时间了)

   有点类似struts-config.xml文件,我写这个的时候,考虑了一下Struts2.x,form-bean干脆改成了pojo了,只需要配置需要填充的属性,这样就比较轻了。然后pojo又可以做持久化对象使用,复用性也比较好。(后来我写了一个Leave Message的实例,可以看看)

配置文件就这么多了。

   

 

ActionServlet.java文件:

   ActionServlet的工作主要是加载配置文件,处理请求,根据请求转发到相应的Action上,然后根据Action返回的值,跳转到相应jsp页面。ActionServlet在init方法中调用initConfig方法加载configure.xml到内存(使用JDOM,后面介绍),doGet,doPost内执行同一个方法process。现在具体看一下process方法,截取request URI再从ActionConfig中找到相应的Action,执行Action中的execute方法,根据返回值进行转发。整个过程比较简单,这里还有一点bug,就是跳转类型只有一个forward(redirect忘记处理了,但加载了相应的配置)。这里不多说了

   

 

Configuration.java文件:

Configuration类主要是利用SAX解析configure.xml,然后加载到相应的配置类中,如ActionConfig,FormConfig等,这里用了JDOM

的包,看看源代码就知道了,很简单。

 

Action.java文件:

Action为抽象类,所有的Action都必须继承该Action基类。

 

CharsetFilter.java文件:

处理中文乱码,默认为uft8

 

web.xml文件:

注意这里我使用的是.go不是.do,呵呵

 

 说了这么多,其实看源代码还来得快一点,现在我把工程文件共享给大家。希望能和大家共同交流交流。

工程代码地址(CSDN的):http://download.csdn.net/source/2553442 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值