首页
竞赛
职业课程
师资团队
免费课程
认证考试
学习平台
学员成果
关于我们
网络安全文章页活动benner
新闻详情页
IDEA快速搭建SSM框架(新手必备)

第一步:新建MAVEN项目

第二步:搭建项目整体架构

项目结构分析:(和三层架构类似)

  1. .controller层:控制层,处理页面请求interceptor:拦截器mapper:后台持久层(相当于三层架构中的Dao层)pojo:实体类service:业务访问层resource:存放SSM中的配置文件,方便管理webapp-static:存放静态文件,js,css,images等WEB-INF-page:存放jsp页面test-java:junit单元测试

第三步: 配置maven:pom.xml文件



    4.0.0
    cn.testssm
    TestSSM
    1.0-SNAPSHOT
    war
    TestSSM Maven Webapp
    http://www.example.com
    
        UTF-8
        1.7
        1.7
        
        UTF-8
        UTF-8
        
        
        5.0.2.RELEASE
        
        3.4.5
        
        1.6.6
        1.2.12
        
        5.1.6
    
    
    
        
        
            org.aspectj
            aspectjweaver
            1.6.8
        
        
            org.springframework
            spring-aop
            ${spring.version}
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
        
            org.springframework
            spring-test
            ${spring.version}
        
        
            org.springframework
            spring-tx
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
        
            junit
            junit
            4.12
        
        
        
            mysql
            mysql-connector-java
            ${mysql.version}
        
        
        
            javax.servlet
            servlet-api
            2.5
            provided
        
        
            javax.servlet.jsp
            jsp-api
            2.0
            provided
        
        
        
            jstl
            jstl
            1.2
        
        
        
            log4j
            log4j
            ${log4j.version}
        
        
            org.slf4j
            slf4j-api
            ${slf4j.version}
        
        
            org.slf4j
            slf4j-log4j12
            ${slf4j.version}
        
        
        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        
        
            org.mybatis
            mybatis-spring
            1.3.0
        
        
        
        
            c3p0
            c3p0
            0.9.1.2
            jar
            compile
        
        
        
            com.fasterxml.jackson.core
            jackson-core
            2.9.8
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.9.8
        
        
        
            commons-fileupload
            commons-fileupload
            1.3.1
        
        
            commons-io
            commons-io
            2.6
        
        
        
            com.alibaba
            fastjson
            1.2.60
        
    
    
        TestSSM
        
            
                
                    maven-clean-plugin
                    3.1.0
                
                
                
                    maven-resources-plugin
                    3.0.2
                
                
                    maven-compiler-plugin
                    3.8.0
                
                
                    maven-surefire-plugin
                    2.22.1
                
                
                    maven-war-plugin
                    3.2.2
                
                
                    maven-install-plugin
                    2.5.2
                
                
                    maven-deploy-plugin
                    2.8.2
                
            
        
        
        
            
                src/main/java
                
                    **/*.xml
                
            
            
                src/main/resources
                
                    **/*.xml
                    **/*.properties
                    **/*.html
                
            
        
    

第四步:编写四大配置文件

一.applicationContext.xml



    
    
    
    
        
        
        
        
        
        
        
        
    
    
    
        
        
        
        
        
    
    
    
        
        
        
    
    
    
    
    
    
        
    
    
    
        
            
            
            
            
        
    
    
    
        
    

二:mybatis.xml




    
    
        
        
        
        
    
    
        
        
    

三:spring-mvc.xml



    
    
    
    
    
    
    
        
        
            
                
            
            
            
                
                    
                        text/html;charset=UTF-8
                        application/json
                    
                
                
                    
                        WriteMapNullValue
                        QuoteFieldNames
                    
                
            
        
    
    
    
    
        
            
            
        
    

四:web.xml



    Archetype Created Web Application
    
    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceEncoding
            true
        
    
    
        characterEncodingFilter
        /*
    
    
    
        contextConfigLocation
        
        classpath:applicationContext.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    
    
    
        dispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        
        1
    
    
        dispatcherServlet
        /
    
    
        /WEB-INF/pages/login.jsp
    

第五步: jdbcConfig.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root

第六步: log4j.properties

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=info, CONSOLE, LOGFILE
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

第七步:编写Junit单元测试

/**
 * 测试类
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class TestSSM {
    @Resource
    private ApplicationContext ac;
    @Test
    public void testUserLogin() {
        UserService userService = (UserService) ac.getBean("userService", UserService.class);
        User user = new User();
        user.setUserName("admin");
        user.setUserPassword("admin");
        Integer result = userService.userLogin(user);
        System.out.println(result);
        System.out.println("送悟空");
    }
}

测试框架整合

ok,框架基本上就是已将搭建完成了,下面创建的测试界面,看框架能否正常运行。

第一步:编写User实体类

package cn.test.pojo;
import java.io.Serializable;
public class User implements Serializable {
    private Integer id;
    private String userName;
    private String userPassword;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserPassword() {
        return userPassword;
    }
    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", userPassword='" + userPassword + '\'' +
                '}';
    }
}

第二步: 编写持久层(mapper)

这里因为是刚学习ssm,所以将xml文件和接口放在了同一包下。

  1. UserMapper.java
  2. ```java package cn.test.mapper;
  3. import cn.test.pojo.User;
  4. public interface UserMapper {
/**
 * 用户登录
 *
 * @param user
 * @return
 */
public Integer userLogin(User user);

}

2. UserMapper.xml
   ```xml
   
   
   
       
   

第三步:编写业务层(Service)

UserService.java

```java package cn.test.service;

import cn.test.pojo.User;

public interface UserService {

public Integer userLogin(User user);

}

2. UserServiceImpl.java
   ```java
   package cn.test.service.impl;
   import cn.test.mapper.UserMapper;
   import cn.test.pojo.User;
   import cn.test.service.UserService;
   import org.springframework.stereotype.Service;
   import javax.annotation.Resource;
   @Service("userService")
   public class UserServiceImpl implements UserService {
       @Resource
       private UserMapper userMapper;
       @Override
       public Integer userLogin(User user) {
           return userMapper.userLogin(user);
       }
   }

第四步:编写Controller

package cn.test.controller;
import cn.test.pojo.User;
import cn.test.service.UserService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
@Controller
@RequestMapping("/userController")
public class UserController {
    @Resource
    private UserService userService;
    @RequestMapping("/userLogin")
    public String userLogin(User user) {
        System.out.println(user);
        Integer result = userService.userLogin(user);
        return "";
    }
    @RequestMapping("/testAjax")
    @ResponseBody
    public String testAjax(User user) {
        System.out.println(user);
        Map map = new HashMap();
        map.put("data", user);
        return JSONArray.toJSONString(map);
    }
}

第五步:jsp页面

<%--
  Created by IntelliJ IDEA.
  User: Dell
  Date: 2020/8/8
  Time: 21:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>


    Title


测试登录

账号*

密码*

启动服务器,在浏览器地址输入http://localhost:8080/index.jsp

 

 

整合成功

新手可能会出现的问题,以下整理了解决方法:

  1. junit单元测试时提示:Can not find Class :cn.testssm.test 解决方案:因为开发工具使用的时idea,当初在建包时将java名称改成了test,重新改成java就好了

2.我使用的spring版本时5.0.2,spring5开始要求junit单元测试版本必须>=4.1.2

3.Error creating bean with name ‘org.springframework.web.servlet.mvc.method.anRequestMappingHandlerAda

4.jsp页面不识别el表达式

解决方案:在头部加入: isELIgnored=“false”

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

5.控制台输出中文乱码:

-Dfile.encoding=utf-8

解决方案:

end~

联系电话:17713623990