后台 SSH2 框架分享

1,490 阅读4分钟

作为一个前端开发人员,了解一门服务器端语言,对于提高自己的知识广度是很有帮助的。本文简单介绍服务器端javaEE的SSH2框架相关知识,主要有以下几点

1.SSH2是什么?
2.MVC
3.服务器端代码请求过程
4.服务器端代码逻辑结构
5.具体项目搭建过程

SSH2

  • Struts2-最早接触到用户请求,下面的url部分就是一个struts2的请求

    
      $.ajax({
          type: "GET",
          url: "/share/picture-json/doShowRelatePictureAction.action",
          data: {
              "picId": id
          },
          success: function(result){
              //do something
          }
      })
    
    
  • Hibernate-对象关系映射框架,是对JDBC的轻量级封装,可以运用面向对象的思想操纵数据库。传统的JDBC操作数据库只能针对表的一条条属性,如果表的属性过多时,编写代码会显得非常冗余。如果采用Hibernate,对于一个表的操作只需要操作一个对象即可,编写代码会非常方便。

  • Spring-管理Struts2的请求以及简化对数据库的访问,并能通过Ioc(依赖注入)和AOP(面向切面)特性快速进行项目开发

MVC

MVC原理图

MVC与MVVM

  1. MVC

    mvc是一种常用的软件架构,是一种开发模式,其各部分的通信可简单看成以下几步:

    (1)View传送指令到controller

    (2)Controller完成业务逻辑,改变Model的状态

    (3)Model将数据发送给View重新渲染,用户得到反馈

    在MVC模式中,通信都是单向的

  2. MVVM

    MVVM模式是将Controller换成ViewModel,其有以下特性:

    (1)各部分之间通信为双向的

    (2)View和Model不直接通信,而是通过ViewModel传递

    (3)View只是被动的显示内容,所有业务逻辑放在ViewModel中

服务器端代码请求过程

服务端代码的逻辑结构

逻辑结构图

各部分说明

  1. Java Resources-包含全部的java源代码,配置文件和引入的jar文件
  • src-包括所有的java源文件和配置文件
    • configs下包括所有的struts2和spring的配置文件
    • yiban下包括所有的java源文件,在源文件中也会分成相应的层,action层(用于接收请求,由Struts2负责),dao层(直接处理数据库),service层(处理具体的业务逻辑)。pojo是对象和数据库表的映射文件。util下是一些公共功能的可复用的java文件。
  • Libraries-所有的jar文件,包括tomcat,jre,外部引入的SSH2的jar包
  1. WebContent-编写的前端展示的文件,css、js、jsp等。其中WEB-INF下的web.xml是至关重要的文件,所有的请求都会经过web.xml然后查找对应的java文件进行处理

具体项目搭建过程

准备工作

  • jdk1.7
  • IDE: eclipse
  • 服务器:tomcat6.0
  • 数据库:mysql,保证数据库的服务是启动的

项目搭建

  1. 新建项目


    在eclipse中新建一个web project,此时的project没有ssh2的支持,需要手动引入

  2. 引入SSH2框架
    • 引入Struts2
      • 首先在WebContent/WEB-INF/web.xml中添加如下代码段1⃣️,这段代码表示所有的请求都将由Struts2来处理
      • 在Java Resources/src目录下添加struts.xml文件,其中添加一些全局设置,比如编码方式,扩展名等。如果在一个xml文件内配置所有的请求,这个文件就会显得很冗长,不方便管理,因此struts2的xml文件是可以拆分的。项目中的src/configs/struts下的xml文件都是关于struts2的配置
      • 导入Struts2依赖的jar包,将jar包拷贝到WebContent/WEB-INF/lib下
    • 引入Hibernate
      • 首先在Java Resources/src下建立hibernate.cfg.xml文件(其实也可以不用建立,因为对Hibernate的配置都交给了Spring,故可省略)
      • 导入Hibernate所依赖动jar包,将jar包拷贝到WebContent/WEB-INF/lib下
    • 引入Spring
      • 首先在WebContent/WEB-INF/web.xml中添加如下代码段2⃣️,这段代码表示添加对Spring的支持。同样可以将Spring的配置文件进行拆分,建立多个方便管理的xml文件,项目中的src/configs/spring下都是spring的配置文件
      • 引入Spring依赖的jar包,将jar包拷贝到WebContent/WEB-INfO/lib下
    • 引入额外的jar包
      • Spring支持Struts2的jar包
      • Struts2支持json的jar包
      • 连接mysql数据库jar包
  3. 项目部署到tomcat,测试项目 完整运行
  4. 数据库设计
  5. 前端页面设计与代码编写
  6. 后台逻辑实现
  7. 测试
  8. 上线

代码段1⃣️


	struts2
	
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
	



	struts2
	/*

代码段2⃣️


    contextConfigLocation
    
        /WEB-INF/classes/configs/spring/context_base_beans.xml
        /WEB-INF/classes/configs/spring/context_service_beans.xml
        /WEB-INF/classes/configs/spring/context_action_beans.xml
    


    
        org.springframework.web.context.ContextLoaderListener