
MVC三层架构:模型层,控制层和字段层。模型层,用Hibernate框架让来JavaBean在生成表及关联,通过对JavaBean的操作来 对进行操作;控制层,用Struts框架来打通数据层和字段层的,接收、处理、发送数据并控制程序;视图层,用JSP模板把列表呈现给用户还有提供与用户的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整个架构,提供IOC容器使代码松耦合以及AOP框架的切面功能等等。
Java—SSH(MVC)
JAVA三大框架的各自作用
hibernate是上层基于jdbc的orm(对象关系映射)持久化框架,即:表与类的映射,索引与特性的映射,记录与对象的映射模型 也就是Model;
struts提供的多样标签是用来显示层View;同时struts也充当了实现Control的系统(还是是Struts1structs控制器,不过Struts2),接收参数,字段分发。
Spring是用来降低层与层间耦合度的,就是所有的类都可以由spring统一创建,用时只需注入即可(IOC)
从系统上来说,hibernate为M,struts2 为V,也可以为C,spring可以为C。
但大多数项目中,hibernate为M,struts2 为V+C,spring用来帮助管理类以及实现一些业务无关功能,如日志记录等,大多数都是用struts来做C的。
一、Spring
Spring是一个解决了许多在J2EE开发中少见的难题的超强框架。 Spring提供了管理业务对象的一致方法如果鼓励了注入对接口编程而不是对类编程的很好习惯。Spring的构架基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为建构完关注一切架构层的完整解决方案方面是独一无二的。 Spring提供了惟一的数据访问抽象,涵盖简单和有效率的JDBC框架structs控制器,极大的优化了效能虽然提高了认为的错误。Spring的数据访问架构还集成了Hibernate和这些O/R mapping解决方案。Spring还提供了惟一的事宜管理抽象,它希望在这些底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事宜管理和这些行业事务--那么你需要--能够实现你自己的aspects。这个框架足够强悍,导致应用程序能够抛却EJB的复杂性,同样享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的超强而灵巧的MVC Web框架。
二、STRUCTS
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足使用研发的需求,简单易用,迅捷快速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和资料资源(message resources)整合到一个统一的框架中,研发人员借助其进行研发时不用再自己编码实现全套MVC模式,极大的耗费了时间,所以说Struts是一个非常不错的使用框架。

三、Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了相当轻量级的对象封装,导致Java程序员可以随心所欲的应用对象编程思想来操纵。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中代替CMP,完成数据持久化的重担。Hibernate可以在应用EJB的J2EE架构中代替CMP,完成数据持久化的重担。映射很简单呀,就是页面的映射呀,多做点训练就能了。
JAVA三大框架用于做WEB应用。 struts主要负责表示层的显示 spring利用它的IOC和AOP来处理控制业务(负责对的操作) hibernate主要是数据的持久化到。在用jsp的servlet做弹窗开发的时候有个web.xml的映射文件,上面有个mapping的标签就是用来做文档映射的。 当你在浏览器上输入URL地址的时候,文档就能按照你写的名称对应到一个java文件,按照java文件里编写的内容表明在浏览器上,就是一个网页,不过文档名字是随便写的,随便起的全名,还是你起的是.php .jsp .do还是这些的多少都对应这个java文件,这个java文件里的源码进行多少操作就干什么,表明一句话还是连接还是跳转到这些按钮等等,这个java文件把数据进行封装起到安全和易于管理的效果。其实这个java文件编译过来是.class的一个字节码文件,没有那么一个类似html嵌入标签和源码的文档文档。他与jsp文件差异就是jsp把源码嵌入到html标签中。还有servlet或者struts中html列表的action中的提交名称对应一个java文件,struts一般是.do的,都和下面一样是映射。
1.探讨你mvc的认知
MVC是Model—View—Controler的全称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。
MVC中的模型、字段、控制器它们分别承担着不同的任务。
字段: 视图是用户看见并与之交互的页面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务观点处理。
模型: 模型认为业务数据和业务处理。相当于JavaBean。一个模型能为多个字段提供数据。这加强了应用程序的重用性
控制器: 当用户单击Web页面中的提交页面时,控制器接受请求并读取相应的模型去处理请求。
然后按照处理的结果调用相应的字段来表明处理的结果。
MVC的处理过程:其次控制器接受用户的请求,读取相应的模型来进行业务处理,并前往数据给控制器。控制器调用相应的字段来表明处理的结果。并通过视图呈现给用户。
Struts

1. struts1.2和struts2.0的差异?如何控制两种框架中的单例模式?
struts1.2和struts2.0的对比
a、Action类:
struts1.2要求Action类继承一个基类。struts2.0 Action要求继承ActionSupport基类
b、线程模式
struts1.2 Action是单例模式的虽然必须是线程安全的,因为仅有一个Action的事例来处理所有的请求。
单例策略限制了Struts1.2 Action能做的大事,如果开发时十分谨慎。Action资源必须是线程安全的或同步的。
struts2.0 Action为每一个请求产生一个实例,即使没有线程安全问题。
c、Servlet依赖
struts1.2 Action依赖于Servlet API,因为当一个Action被读取时HttpServletRequest和HttpServletResponse被传递给execut方法。
struts2.0 Action不依赖于容器,禁止Action脱离容器单独测试。如果需要,Struts2 Action仍然可以访问初始的Request和Response。
只是,这些的元素增加或者清除了直接访问HttpServletRequest和HttpServletResponse的必要性。

d、可测性
检测struts1.2 Action的一个主要难题是execute方法暴露了Servlet API(这导致检测要依赖于容器)。一个第三方扩展:struts TestCase
提供了一套struts1.2的模拟对象来进行试验。
Struts2.0 Action可以通过初始化、增设属性、调用原理来测试,“依赖注入”也导致检测更容易。
2. 项目中为什么使用SSH
1. 使用Struts是因为struts是基于MVC模式的,良好的将应用程序进行了分层,使开发者更关注于业务观点的实现;第二,struts有着丰富的taglib,如能灵活运用,则能大大提高研发效率。
2. 使用Hibernate:因为hibernate为Java应用提供了一个易用的、高效率的对象关系映射框架。hibernate是个轻量级的持久性框架,系统多样。
3. 使用Spring:因为spring基于IoC(Inversion of Control,反向控制)和AOP构架多层j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的良好,禁止你按照自己的才能选择使用它的某一个模块;采用IoC使得可以很容易的实现bean的装配,提供了精致的AOP并据此实现事宜管理(Transcation Managment),等等
4. struts如何实现国际化
以上以两国语言(汉语,汉语)为例:
1. 在工期中加入Struts支持
2. 编辑ApplicationResource.properties文件,在其中加入要使用国际化的资料, 例如:

lable.welcome.china=Welcome!!!
3. 创建中文资源文件ApplicationResource_en.properites
4. 创建临时中文资源文件ApplicationResource_temp.properites例如:lable.welcom.china=中国欢迎您!
5. 对临时中文资源文件进行编码转换。可以使用myeclipse的网页,也可以在dos下执行:
native2ascii-encoding gb2312 ApplicationResource_temp.properties ApplicationResource_zh_CN.properties
6. 在jsp中加入struts的bean标记库<%@ taglib uri="/WEB-INF/struts-bean.tld"prefix="bean"%>
显示资料:
可以在struts-config.xml文档中定义多个资源包,而每位资源包可使用key属性指定包的名称。
5. struts2.0的常见标签
1. 往action里传值:
2. 显示标签 property 用于输出指定值:
3. 用于从列表往action中(user)的对象内传值:
4. 判断 用于在列表中分析指定数据 …. ….
5. 迭代用于将List、Map、ArrayList等集合进行循环遍历
6. URL地址标签,用来生成一个URL地址,可以通过URL标签指定的子元素向URL地址发送请求参数
7. 超链接 一般和标签一起使用,用来带多个取值。“>超链接
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-119306-1.html
反正鬼城多的是
为了国家稳定