一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一

企业级Java应用在框架的基础上构建可以大幅缩短开发周期,模块化分工,层次分明人员目的性强,所以当前流行Struts/Struts2SpringHibernate/IBatis框架的整合,他们在一起能很好完成一个完整的工作流程,对于中小型应用,只需经过框架整合,基础封装即可满足开发要求。

本人接触框架2年时间,对Strtus2Spring有所了解,应用较多,基于二者构建的开发框架历经中小项目考验,安全而稳定,现在介绍一种框架的构建的方式。为什么不用Hibernate是基于快速开发的考虑,HibernateOR映射的设置和数据库访问都需要经过专业的设计,不如直接操纵SQL语句直观,也不利于SQL语句优化,那么利用SpringJdbcTemplate就能满足需求,而且SQL语句的后期维护也是非常方便的。在开发成员水平不很一致时提供了很大的伸缩空间。

开发工具是Eclipse3.5.1(包含WTP)+Tomcat6.0.20

项目目录结构:
  
   
src目录装java源文件;resources目录装XML和属性配置文件;二者的编译路径都指向WEB-INF/classes下,只要二者下的包结构相同,那么类和配置文件就可以在同一个目录下,这样的配置就是为了java文件和配置文件的编辑时分离而发布时结合,方便直观。

lib目录是放置第三方类库,比如JUnit等,项目开发中还需要servlet-api,也应该放到这里,因为Tomcat本身已经支持servlet,只是编码时没有这个类库,所以他不是发布必须的,而是编码时要用的,也可以打入第三方类库中。

Webapp目录的作用这里不解释了,如果不清楚的话,您不用继续往下看了。本文不适合您来阅读。

Webapp目录结构如下:

一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一

common目录放置基本FreeMarker配置文件和抽取的基础宏

components放置前端需要应用的组件,比如dTreefckEditor等资源

css目录放置项目所需的样式表文件

images目录放置项目所需的图片资源文件

js目录放置项目中的JavaScript文件

manage目录是供测试使用的后台管理目录

WEB-INF/lib是项目运行所需的类库文件

struts-tags.tld单独放置此处是为了在FreeMakrer中使用Struts2的标签库

web.xml的作用就不解释了

index.html是项目的入口文件,包含一个转向的地址

login_view.ftl是项目的主页文件,是经过转向得到的,因为Struts2不能再直接访问FreeMarker的物理文件了,就必须跳转一下,当然这个掉转动作里可以安排一些操作。

src目录结构如下:
  一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一

项目本身的ftl解析不直接使用FreeMaker提供的解析器,而是手工设置的一个。Json组件也是手工设置的。就有了org开头的包

Pi包下就是项目的应用包和核心包。

app/action下是Struts2Action文件,负责流程控制

app/service下是抽象出的service,可以根据个人习惯进行代码书写,这里放置的是SQL语句和直接SQL语句的方法。

应用包的层次不是很多,完全可以满足中小应用的需求,当然您也可以根据自身的需要进行改造。这里仅基于最简单的方式。

core/bean下是Bean的管理器,它负责从Spring上下文中按照名称返回所需的bean

core/common下是一些通用的配置,比如登录拦截器,异常拦截器,基础ActionService定义等。

core/util下是自定义的工具类了。没什么多说的。

Constants.java是放置系统所需的一些常量配置。

resources目录结构如下:

 

一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一

这些都是见名知意的配置,等到后面再详细解释。

    整个项目的结构就说完了,后续将从web.xml入手,开始逐一解释这套开发框架。

    同时欢迎大家给出宝贵意见和经验。所有内容均为本人原创手写,谢绝转载,谢谢!

    (未完待续)

你可能感兴趣的:(java,spring,freemarker,Web,框架)