Ajax+SSH+EJB+Oracle面试总结(下)(二)

2014-11-24 02:38:33 · 作者: · 浏览: 4
实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳的大量视图技术,包括JSP、Velocity、Tiles、iText和Pol
11. 请你谈谈SSH整合
Struts(表示层)+Spring(业务层)+Hibernate(持久层)
Struts:
Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。
在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse ;Controller:ActionServlet,struts-config.xml,Action)
Hibernate:
Hibernate是一个持久层框架,它只负责与关系数据库的操作。
Spring:
Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。
12. 什么是Web Service
Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
使用的技术:
HTTP、XML、SOAP(简单对象访问协议)、WSDL
优点:
跨平台、跨语言、跨系统
SOAP协议:
SOAP协议(Simple Object Access Protocal,简单对象访问协议)
http-à Tcp/ip>soap,soap 通过xml文件传送信息
缺点:
(1).WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。
(2).WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一点,它不如CORBA。
13. 如何进行Web性能优化
1. 使用weblint或者其他HTML 检查工具来检查HTML内容是不是符合HTML 4.0规范,符合HTML 4.0规范的页面会加载的更快。
2. 最小化java script和Style Sheets的使用,java script是不标准HTML内容的最大来源,虽然实现了很多非常炫的效果但是却放缓了页面加载的时间,Style Sheets是需要在页面显示之前单独下载的,所以也会放缓页面的加载速度。
3. 关闭DNS的反向解析,DNS反向解析会记录客户端的计算机名而不仅仅是IP地址, 这样就增加消耗。
4. 使用统计工具来检查你的web系统的性能瓶颈是出在DNS,网络连接,内容大小或者是服务器端,这样就可以从瓶颈处着手提高性能。
5. 使用简单的servlet或者CGI, 在系统不需要的话使用分布式程序反而会减低性能。
6. 加内存, 跟我们使用的电脑一样,加内存往往是成本最低效果最好的提高性能的方法。要知道内存速度比硬盘速度要搞一个数量级的。
7. 合理的给你的数据库加索引,当根据关键字进行全表查询时,加索引会有效的提高查询性能。
8. 最小化数据库查询,如果能把数据缓存到中间层或者servlet的话,just do it, 数据库连接往往是系统的性能瓶颈。
9. 使用网络工具检查网络丢包和重发, 断断续续的系统性能问题一般是因为网络丢包或者干扰。因为丢包和重新发送数据之间有一个时间间隔,这样就会使系统变得缓慢。
10. 使用工具来实时监视网站的性能。

1. Struts的工作原理
在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet, ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此 FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的 FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。
2. Struts优点与缺点
Struts是开源软件,使开发者能更深入的了解其内部实现机制。
Struts 优点:业界"标准"(很多成功案例),学习资源丰富。
Struts的优点主要集中体现在两个方面:Taglib和页面导航。
a、利用Struts提供的taglib可以大大节约开发时间。
b、维护扩展比较方便。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
c、表现与逻辑分离
d、表单验证解决了请求数据的验证问题,增强了系统健壮性。
e、便于团队开发

Struts缺点:a、大量的使用标签,对于初学者难度较大。
b、ActionForms使用不便、无法进行单元测试(StrutsTestCase只能用于集成)
3. Struts提供了几个标签库?都是什么标签库?
Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 HTML 标签 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单
Bean 标签 在访问JavaBeans 及其属性,以及定义一个新的bean 时使用
Logic 标签 管理条件产生的输出和对象集产生的循环
Template 标签 随着Tiles框架包的出现,此标记已开始减少使用
Nested 标签 增强对其他的Struts 标签的嵌套使用的能力

作者“铭记于心”