s2sh架构之总体概述

来源:互联网 发布:冰川网络上市股价多少 编辑:程序博客网 时间:2024/04/28 13:02

哈哈,我的架构总结,纯属给自己看的,可能没有什么逻辑哦,对哪感兴趣我就写哪。

 

三个重要的配置文件:

struts.xml、applicationContext.xml、web.xml 

 

struts.xml:

    是stuts2框架的核心的配置文件,主要配置Struts项目的一些全局的属性,用户请求和响应Action之间的对应关系,以及配置Action中可能用到的参数,以及处理结果的返回页面。还包括各种拦截器的配置等。

    加载方式:覆盖DispatherFilter这个类的init()方法来加载配置文件

applicationContext.xml:

    这个名字可以随便起哦,因为这个是显示的在web.xml中配置加载的,可以配置多个spring的配置文件,比如链接数据库相关的可以单独放一个,业务相关的service,dao层可以单独配,如下代码

   <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
          classpath:config/applicationContext.xml,
          classpath:config/applicationContext_WenJianChuanShu.xml
     </param-value>
   </context-param>

web.xml:

这个文件可厉害了,一切的web应用开始的地方,可以配置servlet,filter,listener等等,总之搭建起一个项目需要实现加载的东东都可以在这里进行配置。

 

 

需要引入的jar包,版本根据需要定

以下出处:http://chenyunhong.javaeye.com/blog/784536

struts2所必须的jar包五个:
struts2-core-2.1.6.jar ---------------     struts2的核心包
freemarker-2.3.13.jar--------------- FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具
commons-logging.jar -----------    Jakarta的通用日志记录包
ognl-2.6.11.jar --------------    支持ognl表达式
xwork-2.1.2.jar -------------- xwork的包 由于Struts2是由xwork的延伸 有些类依然关联着 xwork的类
(顺便介绍下相关名词--------
1. jakarta:jakarta是apache组织下的一套Java解决方案的开源软件的名称,它包括了很多子项目。Tomcat,ant,struts等等也是apache下的开源项目。同时也是jakarta的关联项目。
2.OGNL:OGNL是一种功能强大的表达式语言(Expression Language,简称为EL),webwork2和现在的Struts2.x中使用OGNL取代原来的EL来做界面数据绑定
3.xwork:XWork是一个标准的Command模式实现,并且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Navigation Language),IoC(Inversion of Control倒置控制)容器等。
4.command模式:命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。)

Hibernate所用15个jar包:
Hbernate3.jar-------------------核心包
antlr.jar----------------------------语言转换工具,hibernate用他将hql语句转换为sql语句
dom4j.jar--------------------------解析xml文档的工具
ehcahe.jar-------------------------缓存工具,如没提供其它缓存,默认使用他
jta.jar--------------------------------标准的JTA API(JTA即java事物API,JTA事务比JDBC事务更强大。一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接),有朋友说这个包可以不要,不过没测试,反正加这个没错,所以就没删除了。
cglib.jar----------------------------高效的代码生成工具, Hibernate用它在运行时扩展 Java类和实现 Java 接口
asm.jar----------------------------- ASM字节码库 , 使用“cglib”则必要 
asm-attrs.jar ===----------------------    ASM字节码库,使用“cglib”则必要 
commons-collections-2.1.1.jar-----Apache 的工具集,集合类    ,用来增强Java对集合的处理能力。
jaxen-1.1-beta-7.jar------------------用dom 的方式解析工程中xml文件,如果想提高启动性能则去使用(可选)
commons-logging.jar---------------日志工具
log4j1.2.11.jar--------------------------log4j 库,Apache 的日志工具
commons-pool.jar, commons-dbcp.jar--------DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat4的连接池也是DBCP。(可选)
xml-apis.jar------------------------------解析xml。
spring所用的5个jar:
spring.jar----------------------------是包含有完整发布的单个jar包

commons-digester.jar--------------------Digester基于规则的XML文档解析,主要用于XML到Java对象的映射.
(下面的这三个包在我的工程中是暂时没有用到的)
spring-aop.jar----------------------这个jar文件包含在应用中使用Spring的AOP特性时所需的类
aspectjrt.jar---------------------------------是Spring Aop所要用到的包
aspectjweaver.jar-------------------------用于在Spring 2.0中集成AspectJ AspectJ LTW织入器  

其他4个jar包:
msbase.jar,mssqlserver.jar,msutil.jar----连接数据库sql server 20003个jar
struts2-spring-plugin-2.0.11.1.jar-------struts2与spring整合所需的插件

以上这些包在我现在所使用的工程中都有引用,这些都是基本的应用,我们的工程中还有好多的包,根据具体使用情况而定啊。