【后台学习教程】 基于SSM框架的JavaWeb搭建

前言

SSM框架集是指Spring、SpringMVC、MyBatis三大开源框架整合而成Java后台框架。相对于已经成熟的框架SSH(Sturts2+Spring+Hibernate),个人更愿意学习SSM,因为目前越来越受到公司的欢迎。

感谢

在这里,我要特别感谢带我入坑Java Web的dalao,也是他无私的分享精神,让我坚持开源技术知识给大家!CSDN博客作者:小啊小木头。

准备工具:

  • IDEA
  • Tomcat
  • MySQL

教程

-1- 准备工作

确认安装了JDK、IDEA(下载专业版)、MySQL(本地可不安装,可使用云服务器的数据库)。安装不是本教程重点,自行解决。

-2- 创建项目

打开IDEA,创建一个新项目。项目基于Maven的Java Web。Maven是一种非常好用便捷的包管理工具,感兴趣自己可以查查资料。


【后台学习教程】 基于SSM框架的JavaWeb搭建_第1张图片
QQ截图20180430105941.png

填写项目信息

  • GroupId:组织名,一般是域名反写,也常做项目包名目录
  • ArtifactId:项目名,一般做为工程名,也是根文件夹名


    【后台学习教程】 基于SSM框架的JavaWeb搭建_第2张图片
    QQ截图20180430111246.png

    选择Maven版本
    IDEA有自带版本。如果熟悉maven,电脑且安装了Maven也可以用自己的。右边选择自己Maven的目录


    【后台学习教程】 基于SSM框架的JavaWeb搭建_第3张图片
    QQ截图20180430111016.png

点击Finish保存项目

【后台学习教程】 基于SSM框架的JavaWeb搭建_第4张图片
QQ截图20180430111028.png

初始化加载
第一次使用IDEA,项目创建需要下载并初始化各种各样的东西,需要占用大量的时间。加载完成的标志是会发现有一个 src目录
【后台学习教程】 基于SSM框架的JavaWeb搭建_第5张图片
QQ截图20180430111508.png

关于里面各个文件以及文件夹,大家可以看我这篇笔记: 【后台学习笔记】基于Maven的Web项目目录结构与作用介绍(IDEA)

-2- 完善项目结构

main目录下创建:

  • java文件夹:用于存放后台代码
  • resources文件夹:用于存放后台配置文件
    针对以上两个目录,还要标记文件夹,图片以resources文件夹为例。标记resources为资源根目录(Resources Root)。同样还需要标记java文件夹为Sources Root


    【后台学习教程】 基于SSM框架的JavaWeb搭建_第6张图片
    QQ截图20180430115902.png

    在java目录下,我们先创建几个包。根据自己的项目逻辑结构。最主要是后面的四个包,采用SSM框架,分层的结构思想:

  • controller:控制层。Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。
  • dao: 持久层。DAO层主要是做数据持久层的工作,主要与数据库进行交互。DAO层首先会创建DAO接口,然后会在配置文件中定义该接口的实现类,接着就可以在模块中就可以调用DAO 的接口进行数据业务的而处理,并且不用关注此接口的具体实现类是哪一个类。DAO 层的数据源和数据库连接的参数数都是在配置文件中进行配置的。
  • entity:实体层。也就是我们存放实体类的包。
  • service:业务层。Service层主要负责业务模块的逻辑应用设计。是持久层的实现类。封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。
    接下来是前端部分:
    webapp目录下创建:
  • css:存放前端css文件
  • js:存放前端JavaScript文件
  • images:存放前端图片
  • fonts:存放前端的字体文件
    在WEB-INF目录下创建:
  • views:存放前端网页(JSP文件)
    同时在view的文件夹下创建:
  • index.jsp:这里我们把所有的网页文件放在views文件目录下需要删除webapp文件夹下的index.jsp,这里我们不需要用它。
    最后的目录结构是:


    【后台学习教程】 基于SSM框架的JavaWeb搭建_第7张图片
    QQ截图20180430132546.png
-3- 添加框架所需要的jar包

导入的包大致包括:Spring以及SpringMVC核心包、log4j日志包、mysql驱动包、MyBatis核心包。日后需要做其他的功能,例如分页、文件上传等。大家就可以按需添加一些外部包来实现快速开发了~

pom.xml



  4.0.0
  hellomiao.cn
  SSMDemo
  1.0-SNAPSHOT
  war
  SSMDemo Maven Webapp
  http://www.example.com

  
    UTF-8
    1.7
    1.7
      
      4.2.5.RELEASE
      
      3.2.4
    
    1.6.6
    1.2.12
  

  
    
    
      org.springframework
      spring-core
      ${spring.version}
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-oxm
      ${spring.version}
    
    
      org.springframework
      spring-tx
      ${spring.version}
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-aop
      ${spring.version}
    
    
      org.springframework
      spring-context-support
      ${spring.version}
    
    
      org.springframework
      spring-test
      ${spring.version}
    
    
      org.springframework
      spring-websocket
      4.3.3.RELEASE
    
    
      org.springframework
      spring-messaging
      4.3.3.RELEASE
    
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.2.2
    
    
    
      mysql
      mysql-connector-java
      5.1.29
    
    
    
      commons-lang
      commons-lang
      2.4
    
    
      commons-logging
      commons-logging
      1.1
    
    
      commons-pool
      commons-pool
      1.5.6
    
    
      commons-dbcp
      commons-dbcp
      1.4
    
    
      commons-beanutils
      commons-beanutils
      1.8.3
    
    
      commons-httpclient
      commons-httpclient
      3.1
    
    
      commons-collections
      commons-collections
      3.1
    
    
      commons-codec
      commons-codec
      1.9
    
    
      javax.annotation
      jsr250-api
      1.0
    
    
      net.sf.ezmorph
      ezmorph
      1.0.6
    
    
      javax.activation
      activation
      1.1
    
    
      taglibs
      standard
      1.1.2
    
    
    
      log4j
      log4j
      ${log4j.version}
    
    
      org.slf4j
      slf4j-api
      ${slf4j.version}
    
    
      org.slf4j
      slf4j-log4j12
      ${slf4j.version}
    
    
    
    
      com.fasterxml.jackson.core
      jackson-core
      2.7.1
    
    
      com.fasterxml.jackson.core
      jackson-annotations
      2.7.1
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.7.1
    
    
      net.sf.json-lib
      json-lib
      2.4
      jdk15
    
  

  
    SSMDemo
      
        
        
          org.mybatis.generator
          mybatis-generator-maven-plugin
          1.3.2
          
            
            true
            
            true
          
        
      
  

-3- 添加数据库配置文件

在resources文件下新建一个文件:jdbc.properties

jdbc.properties
driver=com.mysql.jdbc.Driver
# 数据库地址
# 本机IP用localhost,云服务器改为对应的公网IP
# url=jdbc:mysql://IP地址:端口号/数据库名?useUnicode=true&characterEncoding=utf-8
url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8
#数据库用户名
username=root
#数据库的密码
password=*********************************
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
-4- 添加日志配置文件

在resources目录下创建文件:log4j.properties
这里我们把日志文件存放在tomcat目录下的logs文件夹内

log4j.properties
### set log levels ###
log4j.rootLogger = INFO,D

###输出到控制台###
log4j.logger.toConsole=debug,stdout
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n

### 输出到日志文件 ###
##  其中File 可以采用绝对路径 亦可以采用相对路径 catalina.home 是tomcat目录  如果没有logs文件夹 将会报错
##  更加倾向于将日志文件放在  tomcat的日志目录下${catalina.home}/logs/xxx.log
##  绝对路径如:e:/xxx.log
log4j.logger.daily=INFO,D
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ${catalina.home}/logs/demo.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern =%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n
-5-添加Spring配置文件

在resources目录下新建spring文件夹,新建一个springConfig.xml文件

springConfig.xml



   
   
   
   
   
   
   
   
   

   
   
   
       
           
               
           
       
   

   
       
           
               application/json;charset=UTF-8
           
       
   





   
   
   
       
       
       
   




   
   
   
   
       
           
               classpath:jdbc.properties
           
       
   

   
   
       
       
       
       
       
       
       
       
   


   
   
       
   

   
   
       
       
   
   
   


-6-web.xml配置

通过这一步,前后端就建立起沟通的桥梁了

web.xml


  helloworld
  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceEncoding
      true
    
  
  
    encodingFilter
    /*
  

  
  
    springServlet
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
       classpath:spring/springConfig.xml
    
    1
  
  
  
    springServlet
    /
  

  
  
    
      org.springframework.web.context.ContextLoaderListener
    
  
  
  
    default
    *.md
  

  
    contextConfigLocation
     classpath:spring/springConfig.xml
  
  
  
    /WEB-INF/views/index.jsp
  
  
  
  
  
  
  
  
    600
  

-7-配置运行环境

右上角编辑


【后台学习教程】 基于SSM框架的JavaWeb搭建_第8张图片
QQ截图20180430135914.png

选择tomcat服务器(需要专业版的支持)


【后台学习教程】 基于SSM框架的JavaWeb搭建_第9张图片
QQ截图20180430135937.png

选择需要运行war包,测试就选择第二个
【后台学习教程】 基于SSM框架的JavaWeb搭建_第10张图片
QQ截图20180430140119.png

选择运行的浏览器


【后台学习教程】 基于SSM框架的JavaWeb搭建_第11张图片
QQ截图20180430140150.png

第一次使用需要配置tomcat安装目录,选择configure找到自己的tomcat安装目录即可
-7-运行

对index.jsp做点小修改,可以看到直观的效果。

index.jsp
<%--
  Created by IntelliJ IDEA.
  User: liwenban
  Date: 2018/4/30
  Time: 12:07
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    SSMDemo


这是我的第一个基于SSM框架的javaWeb项目

是不是很熟悉,其实就是HTML啦。有做好的HTML代码,其实可以直接把html代码粘贴到对应的部分。
点击绿色运行按钮运行


【后台学习教程】 基于SSM框架的JavaWeb搭建_第12张图片
QQ截图20180430140629.png

控制台:


【后台学习教程】 基于SSM框架的JavaWeb搭建_第13张图片
QQ截图20180430141243.png
  • 看到红色的别慌,没有显示[严重]都别怕。有问题就去前面配置的日志文件查看什么错误。一定要学会自己找错误去解决!

最后的运行结果:


【后台学习教程】 基于SSM框架的JavaWeb搭建_第14张图片
QQ截图20180430141405.png

结束

这个是SSM框架的搭建,所以还没有涉及到后台是如何交互的。主要是跑通,后面的干货快来了~

你可能感兴趣的:(【后台学习教程】 基于SSM框架的JavaWeb搭建)