A
保定电力职业技术学院
顶岗实习技术应用论文题 目 J 2EE的SSH框架的搭建和性能优化系 部 信息工程与管理系a
A
目录
J2EE的SSH框架的搭建和性能优化......................................................................................-3-
摘要.....................................................................................................................................-3-
1.引言..................................................................................................................................-3-
2.SP RING+STRUTS+HI BERNATE简介.................................................................................-4-
2.1 STRUTS框架结构...............................................................................................................................................-4-
2.1.1Model部分...............................................................................................................................................-4-
2.1.2.View部分..................................................................................................................................................-4-
2.1.3.Controller组件.................................................................................................................................-5-
2.2 SPRING..................................................................................................................................................................-5-
2.2.1.轻量.............................................................................................................................................................-5-
2.2.2.控制反转....................................................................................................................................................-5-
2.2.3.面向切面....................................................................................................................................................-5-
2.2.4.容器.............................................................................................................................................................-5-
2.2.5.框架.............................................................................................................................................................-6-
2.3 HIBERNATE...........................................................................................................................................................-6-
2.3.1.Session接口...........................................................................................................................................-6-
2.3.2.SessionFa ctory接口........................................................................................................................-6-
2.3.3.Configura tion接口...........................................................................................................................-7-
2.3.4.Transa ction接口...............................................................................................................................-7-
2.3.5.Query和Criteria接口....................................................................................................................-7-
3.阐述SSH整合框架.............................................................................................................-7-
3.1集成SSH框架...................................................................................................................................................-7-
4.基于SSH框架的WEB应用系统的实现..............................................................................-8-
4.1数据持久层........................................................................................................................................................-8-
4.2业务逻辑层........................................................................................................................................................-8-
4.3表示层..............................................................................................................................................................- 10-
5SSH性能的优化...............................................................................................................- 10-
5.1 STRUTS优化.....................................................................................................................................................- 10-
5.1.1 logging和开发模式.......................................................................................................................-10-
5.1.2.拦截器.....................................................................................................................................................-11-
5.1.3.缓存和过期时间....................................................................................................................................-11-
5.1.4.Ajax theme(Dojo)或者Calendar标签.............................................................................-11-
5.1.5.freemark载入模板........................................................................................................................-11-
5.1.6.freemark模板缓存.........................................................................................................................-11-
5.1.7.模板路径................................................................................................................................................-11-
5.1.8.session.................................................................................................................................................-11-a
A
5.1.9.标签的使用.............................................................................................................................................-12-
5.2 SPRING优化.....................................................................................................................................................- 12-
5.3 HIBERNATE优化.............................................................................................................................................- 13-
5.3.1、 数据库设计.......................................................................................................................................-13-
5.3.3、 主配置................................................................................................................................................-14-
5.3.4、 缓存.....................................................................................................................................................-14-
5.3.5、 延迟加载............................................................................................................................................-14-
5.3.6、 方法选用............................................................................................................................................-15-
5.3.7、 集合的选用.......................................................................................................................................-15-
5.3.8、 事务控制............................................................................................................................................-15-
5.3.9、 批量操作............................................................................................................................................-16-
5.3.10、Hibernate的缓存.......................................................................................................................-16-
5.3.11Hibernate性能调优.......................................................................................................................-18-
6.结语................................................................................................................................-20-
致谢...................................................................................................................................-21 -
参考文献............................................................................................................................-22-a
A
J2EE的SSH框架的搭建和性能优化
姓名李朝云 班级软件1101班 学号 180111121
摘要
针对当前Web应用程序开发面临的问题结合目前比较流行的开源框架Sprin g、 Struts和Hibernate提出了一种开发J2EE Web应用的轻量级解决方案 以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。并且通过案例具体说明了如何将这一方案应用到实际项目中。
关键词:J2EE MVC Struts Spring Hibernate
1.引言
大型企业级Web应用系统的开发通常要求有一个良好的软件架构、便于协作开发和扩展升级而传统的开发模式不能很好地满足这些要求。本文针对当前Web应用程序开发面临的问题结合目前比较流行的开源框架SSHSp rin g、 Struts、Hibernate)提出一种开发J 2 EE企业级Web应用的轻量级解决方案并通过案例具体说明如何将这一方案应用到实际项目中。
2.Spring+Struts+Hib ernate简介
SSH在J 2EE项目中表示了3种框架 即Spring+Struts+Hibernate。 Struts对ModelView和Controller都提供了对应的组件。 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架它由Rod J ohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Hib ernate是一个开放源代码的对象关系映射框架它对J DB C进行了非常轻量级的对象封装可以应用在任何使用JDBC的场合可以在Servlet/JSP的Web应用中使用也可以在应用EJB的J2EE架构中取代CMP完成数据持久化的重任。a
A
2.1 Struts框架结构
如图
Struts对M o d elView和Contro ller都提供了对应的组件。
在右图中ActionServlet这个类是Struts的核心控制器负责拦截来自用户的请求。
Action这个类通常由用户提供该控制器负责接收来自ActionServlet的请求并根据该请求调用模型的业务逻辑方法处理请求并将处理结果返回给JSP页面显示。
2.1.1 Model部分
由ActionForm和JavaBean组成其中ActionForm用于封装用户的请求参数封装成ActionForm对象该对象被ActionServlet转发给ActionAction根据ActionForm里面的请求参数处理用户的请求。
JavaBean则封装了底层的业务逻辑包括数据库访问等。
2.1.2.View部分
该部分采用JSP实现。
Struts提供了丰富的标签库通过标签库可以减少脚本的使用 自定义的标签库可以实现与Mo d el的有效交互并增加了现实功能。对应上图的JSP部分。a
A
2.1.3.Contro ller组件
Contro ller组件有两个部分组成——系统核心控制器业务逻辑控制器。
系统核心控制器对应上图的ActionServlet。该控制器由Struts框架提供继承Htt pServlet类 因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求然后根据用户请求决定是否要转给业务逻辑控制器。
业务逻辑控制器负责处理用户请求本身不具备处理能力而是调用M o d el来完成处理。对应Action部分。
2.2 Spring
简介
◆目的解决企业应用开发的复杂性
◆功能使用基本的JavaBean代替EJB并提供了更多的企业应用功能◆范围任何Java应用
简单来说 Spring是一个轻量级的控制反转(IoC)和面向切面(AO P)的容器框架。
2.2.1.轻量
从大小与开销两方面而言Sprin g都是轻量的。完整的Sprin g框架可以在一个大小只有1 MB多的JAR文件里发布。并且Sprin g所需的处理开销也是微不足道的。此外 Sprin g是非侵入式的典型地 Sprin g应用中的对象不依赖于Sprin g的特定类。a
A
2.2.2.控制反转
Spring通过一种称作控制反转IoC的技术促进了松耦合。当应用了IoC一个对象依赖的其它对象会通过被动的方式传递进来而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JND I相反——不是对象从容器中查找依赖而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
2.2.3.面向切面
Sprin g提供了面向切面编程的丰富支持允许通过分离应用的业务逻辑与系统级服务例如审计aud itin g和事务transaction管理进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责甚至是意识其它的系统级关注点例如日志或事务支持。
2.2.4.容器
Sprin g包含并管理应用对象的配置和生命周期在这个意义上它是一种容器你可以配置你的每个bean如何被创建——基于一个可配置原型prototype你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而 Sprin g不应该被混同于传统的重量级的EJ B容器它们经常是庞大与笨重的难以使用。
2.2.5.框架
Sprin g可以将简单的组件配置、组合成为复杂的应用。在Sprin g中应用对象被声明式地组合典型地是在一个XML文件里。 Sprin g也提供了很多基础功能事务管理、持久化框架集成等等将应用逻辑的开发留给了你。a
A
所有Sprin g的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Sprin g中的各种模块提供了基础支持。
2.3 Hibernate
简介 Hibernate是一个开放源代码的对象关系映射框架它对JDBC进行了非常轻量级的对象封装使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JD BC的场合既可以在Java的客户端程序使用也可以在Servlet/JSP的Web应用中使用最具革命意义的是Hibernate可以在应用EJ B的J 2 EE架构中取代CMP完成数据持久化的重任。Hibernate的核心接口一共有5个分别为:Session、 SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口不仅可以对持久化对象进行存取还能够进行事务控制。下面对这五个核心接口分别加以介绍。
2.3.1.Sess i on接口
Session接口负责执行被持久化对象的CRU D操作(CRU D的任务是完成与数据库的交流包含了很多常见的SQL语句。 )。但需要注意的是Session对象是非线程安全的。 同时 Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时其实指的是Hibernate中的session而以后会将HttpSesion对象称为用户session。
2.3.2.SessionFactory接口
SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的 因为一般情况下一个项目通常只需要一个SessionFactory就够当a
A
需要操作多个数据库时可以为每个数据库指定一个SessionFactory。a
小欢互联成立于2019年10月,主打海外高性价比云服务器、CDN和虚拟主机服务。近期上线了自营美国CERA机房高速VPS,进行促销活动,为客户奉上美国/香港八折优惠码:Xxc1mtLB优惠码适用于美国CERA一区/二区以及香港一区/二区优惠时间:即日起至10月底优惠码可无限次使用,且续费同价!官网:https://idc.xh-ws.com购买地址:美国CERA一区:https://idc.xh-...
易探云怎么样?易探云最早是主攻香港云服务器的品牌商家,由于之前香港云服务器性价比高、稳定性不错获得了不少用户的支持。易探云推出大量香港云服务器,采用BGP、CN2线路,机房有香港九龙、香港新界、香港沙田、香港葵湾等,香港1核1G低至18元/月,183.60元/年,老站长建站推荐香港2核4G5M+10G数据盘仅799元/年,性价比超强,关键是延迟全球为50ms左右,适合国内境外外贸行业网站等,如果需...
RAKsmart怎么样?RAKsmart发布了2021年中促销,促销时间,7月1日~7月31日!,具体促销优惠整理如下:1)美国西海岸的圣何塞、洛杉矶独立物理服务器低至$30/月(续费不涨价)!2)中国香港大带宽物理机,新品热卖!!!,$269.23 美元/月,3)站群服务器、香港站群、日本站群、美国站群,低至177美元/月,4)美国圣何塞,洛杉矶10G口服务器,不限流量,惊爆价:$999.00,...