先从整体来说,系统用了典型MVC设计理念,前端和业务之间的交互采用jsp+struts2,数据库的事务操作都使用hibernate实现,spring来管理两者之间的关系,提供依赖注入(DI)和切面事务(AOP),整个一个web项目整体上的配置主要体现在web.xml中,下面先说web.xml配置要点。
(1)、配置过滤器 OpenSessionInViewFilter,主要功能是用来把一个Hibernate Session和一次完整的请求过程对应的线程相绑定,但出现org.hibernate.LazyInitializationException错误的时候,需要配置这个filter。
(2)、配置log4j,包括log4j的存放位置,配置文件默认刷新时间,监听器等,
(3)、spring的XML配置文件和spring监听器的配置,这里配置的是整个项目的spring配置文件,多数业务都是这里完成
(4)、配置Struts2的FilterDispathcer的Filter,前天页面的跳转必须要通过struts2
web.xml基本上就是这些重要的配置文件,如果需要使用到spring security权限验证框架,也需要配置相应filter,配置玩web.xml,下面需要配置spring.xml,这里我把配置文件再分为相应action.xml、service.xml、dao.xml、db.xml,前面的三个配置文件主要是依赖注入发充分体现,action处理数据需要依赖service,service需要依赖dao,这样分解可以使得代码结构更加清晰,dao只负责对db的操作,service是相应的业务逻辑处理,而action则是页面数据的管