java框架入门 联系客服

发布时间 : 星期五 文章java框架入门更新完毕开始阅读c086f3fdc5da50e2534d7fb1

Eclipse搭建SSH框架项目教程

SSH = Struts2(表示层) + Spring3(处理控制业务) + Hibernate3(底层操作)

目录

一、Struts2简介 ................................................................................................................................................ 2 1、原理 ........................................................................................................................................................... 2 2、优点 ........................................................................................................................................................... 2 3、缺点 ........................................................................................................................................................... 3 二、Sprint3简介 ................................................................................................................................................ 3 1、原理 ........................................................................................................................................................... 4 2、优点 ........................................................................................................................................................... 5 三、Hibernate3简介 .......................................................................................................................................... 5 1、原理 ........................................................................................................................................................... 5

一、Struts2简介

1、原理

1) 2) 3) 4) 5) 6) 7) 8) 9)

客户端(Client)向Action发出一个请求(Request);

容器Container通过web.xml映射请求,并获得控制器(Controller)的名字;

容器(Container)调用控制器FilterDispatcher(Struts2.1之前)或者StrutsPrepareAndExecuteFilter(Struts2.1之后); 控制器(Controller)通过ActionMapper获得Action的信息; 控制器(Controller)调用ActionProxy;

ActionProxy读取struts.xml文件获取action 和interceptor stack的信息; ActionProxy把request请求传递给ActionInvocation; ActionInvocation依次调用action和interceptor; 根据action的配置信息,产生result

10) Result信息返回给ActionInvocation; 11) 产生一个HttpServletResponse响应;

12) 产生的响应行为发送给客户端。 2、优点

1)

实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现;

2) 3) 4)

丰富的标签库,大大提高了开发效率;

使用OGNL进行参数传递。OGNL提供了在Struts2里访问各种作用域中的数据的简单方式,你可以方便的获取Request,Attribute,Application,Session,Parameters中的数据。大大简化了开发人员在获取这些数据时的代码量。

Struts2提供丰富的拦截器实现。Struts2 的拦截器是一个Action级别的AOP,Struts2中的许多特性都是通过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器是可配置与重用的,可以将一些通用的功能如:登录验证,权限验证等置于拦截器中以完成一些Java Web项目中比较通用的功能。

5) 6)

通过配置文件,就可以掌握整个系统各个部分之间的关系;

可扩展性高。Struts2的核心jar包中由一个struts-default.xml文件,在该文件中设置了一些默认的bean,resultType类型,默认拦截器栈等,所有这些默认设置,用户都可以利用配置文件更改,可以更改为自己开发的bean,resulttype等。因此用户开发了插件的话只要很简单的配置就可以很容易的和Struts2框架融合,这实现了框架对插件的可插拔的特性。

7) 8)

易于测试。Struts2的Action都是简单的POJO,这样可以方便的对Struts2的Action编写测试用例,大大方便了Java Web项目的测试。

模块化。Struts2已经把模块化作为了体系架构中的基本思想,可以通过三种方法来将应用程序模块化:将配置信息拆分成多个文件;把自包含的应用模块创建为插件;创建新的框架特性,即将与特定应用无关的新功能组织成插件,以添加到多个应用中去。

9) 全局结果与声明式异常。为应用程序添加全局的result,在配置文件中对异常进行处理,当处理过程中出现指定宜昌市,可以跳转到特定页面。

3、缺点

1)

Struts2中Action中取得从jsp中传过来的参数时还是有点麻烦。可以为Struts2的Action中的属性配置上Getter和Setter方法,通过默认拦截器,就可以将请求参数设置到这些属性中。如果用这种方式,当请求参数很多时,Action类就会被这些表单属性弄的很臃肿,让人感觉会很乱。还有Action中的属性不但可以用来获得请求参数还可以输出到Jsp中,这样就会更乱。假设从JSP1中获得了参数money=100000,但是这个Action还要输出到JSP2中,但是输出的格式却不同,money=100,000,这样这个Action中的money中的值就变了。 2) 3)

校验还是感觉比较繁琐,感觉太烦乱,也太细化了,如果校验出错的只能给用户提示一些信息。如果有多个字段,每个字段出错时返回到不同的画面,这个功能在Strut2框架下借助框架提供的校验逻辑就不容易实现。

安全性有待提高。Struts2曝出2个高危安全漏洞,一个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞。这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。

二、Sprint3简介

Spring是一个开源框架,是于2003年兴起的一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分成架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

Spring的核心是控制反转(IoC)和面向切面(AOP)。

简单来说,Spring是一个分层的JavaSE/EE full stack(一站式)轻量级开源框架。

1、原理

Spring框架是一个分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式。

组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块功能如下: 1. 2. 3.

Spring Core:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开;

Spring上下文:一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,如JNDI、EJB、电子邮件、国际化、校验和调度功能;

Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。 4.

Spring DAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。 5. 6.

Spring ORM:Spring 框架插入了若干个ORM框架,从而提供了 ORM 的对象关系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。

Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 7.

Spring MVC 框架:MVC框架是一个全功能的构建 Web应用程序的 MVC 实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText和 POI。模型由javabean构成,存放于Map;视图是一个接口,负责显示模型;控制器表示逻辑代码,是Controller的实现。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。

2

1

1

Bean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性

设计模式的公共方法将内部域暴露成员属性。 2

对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。