我要作的是一个基于学生选课系统,我选择的框架式SSH框架。java
SSH框架介绍:SSH是Spring+Struts+Hibernate的集成框架。Spring的架构基础是基于使用javabean属性的Inversion of Control容器。Spring在使用IoC容器做为构建完关注全部架构层的完整解决方案方面是独一无二的。 Spring提供了惟一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率而且减小了可能的错误。Spring的数据访问架构还集成了Hibernate和其余O/R mapping解决方案。Spring还提供了惟一的事务管理抽象,它可以在各类底层事务管理技术。pring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其余企业事务--若是你须要--还能实现你本身的aspects。Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再本身编码实现全套MVC模式。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了很是轻量级的对象封装,使得Java程序员能够为所欲为的使用对象编程思惟来操纵数据库。 Hibernate能够应用在任何使用JDBC的场合,既能够在Java的客户端程序实用,也能够在Servlet/JSP的Web应用中使用。程序员
SSH框架的选择缘由:①目前我所学到的框架只有EF和SSH框架,然而EF框架须要借助的工具须要收费才能使用,而SSH是彻底免费的。②SSH是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工做放在中间层处理。客户端不直接与数据库交互,而是经过组件与中间层创建链接,再由中间层与数据库交互。③开发效率:对于传统的ASP和 PHP等脚本站点技术,将整个站点的业务逻辑和表现逻辑都混杂在ASP或PHP页面里,从而致使页面的可读性至关差,可维护性很是低,但采用严格分层SSH架构,则可彻底避免这个问题。对表现层的修改即便发生错误,也绝对不会将错误扩展到业务逻辑层,更不会影响持久层。④需求变动:SSH的分层架构,在优秀的分层架构里,控制层依赖于业务逻辑层,但毫不与任何具体的业务逻辑组件耦合,只与接口耦合;一样,业务逻辑层依赖于DAO 层,也不会与任何具体的DAO组件耦合,而是面向接口编程。采用这种方式的软件实现,即便软件的部分发生改变,其余部分也尽量不要改变。数据库