SSM框架(Spring+SpringMVC+Mybatis+Maven+MySql)

SSM框架(Spring+SpringMVC+Mybatis+Maven+MySql)_第1张图片
SSM框架(Spring+SpringMVC+Mybatis+Maven+MySql)_第2张图片
一、ssm框架所需要的jar包
我这里用得是jdk1.8,改1,7的自己改一下


  4.0.0
    com.own
    niub
    war
    0.0.1-SNAPSHOT
    niub Maven Webapp
    http://maven.apache.org

    
        UTF-8
        
        5.1.5.RELEASE
        
        2.9.8
    

    
        
            junit
            junit
            3.8.1
            test
        

        
        
            org.springframework
            spring-core
            ${spring.version}
        

        
            org.springframework
            spring-context
            ${spring.version}
        

        
            org.springframework
            spring-beans
            ${spring.version}
        

        
            org.springframework
            spring-web
            ${spring.version}
        

        
            org.springframework
            spring-jdbc
            ${spring.version}
        

        
            org.springframework
            spring-tx
            ${spring.version}
        

        
            org.springframework
            spring-aop
            ${spring.version}
        

        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        

        
        
            javax
            javaee-api
            7.0
            
        

        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        

        
        
            org.slf4j
            slf4j-api
            1.7.25
        

        
            ch.qos.logback
            logback-classic
            1.2.3
            test
        

        
        
            org.mybatis
            mybatis
            3.4.6
        

        
            org.mybatis
            mybatis-spring
            1.3.2
        

        
        
            mysql
            mysql-connector-java
            5.1.6
        

        
        
            com.alibaba
            druid
            1.1.10
        

        
        
            javax.servlet
            jstl
            1.2
        

        
            com.fasterxml.jackson.core
            jackson-databind
            ${jackson.version}
        

        
            com.fasterxml.jackson.core
            jackson-core
            ${jackson.version}
        

        
            com.fasterxml.jackson.core
            jackson-annotations
            ${jackson.version}
        

    

    
        niub
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    utf-8
                    1.8
                    1.8
                
            
        
    


二、web.xml配置
这里需要注意以下这个命名空间和这个dtd格式这里,我用得3.1,因为我用得tomcat8.5,用其他版本的自己改2.3或3.0,同时我这边springmvc部分的名称为springmvc-servlet.xml,取其他名字自己更改一下,applicationContext.xml名字没变,贴一下路径
SSM框架(Spring+SpringMVC+Mybatis+Maven+MySql)_第3张图片




    niub

    
        index.jsp
    

    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:springmvc-servlet.xml
        
        1
    
    
        springmvc
        /
    

    
    
        org.springframework.web.context.ContextLoaderListener
    
    
        contextConfigLocation
        classpath:applicationContext.xml
    

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



三、applicationContext.xml配置
注意自动扫描部分的通配路径
com.ssm..service
properties/jdbc.properties
spring-mybatis.xml
mapper/**/
.xml
com.ssm.*.dao
SSM框架(Spring+SpringMVC+Mybatis+Maven+MySql)_第4张图片




    
    

    
    

    
    
        
        
        
        

        
        
        
        
        
        
        
        

        
            SELECT 1
        
        
        
        

        
        
        
        

        
        
        
        
        
        

        
        
    

    
    
        
        
        
        
    

    
        
        
        
    

    
    
        
    

    
    



四、springmvc-servlet.xml
注意通配符
SSM框架(Spring+SpringMVC+Mybatis+Maven+MySql)_第5张图片
SSM框架(Spring+SpringMVC+Mybatis+Maven+MySql)_第6张图片
博主搭这个框架也是看了很多人的框架搭建的,不要只是照抄,每个部分都有独特的意义,之所以贴代码,是可以自己备份一下,同时建议多理解,最好自己能够说出每个部分的原因,代码少不了,少了就出问题了。




    
    
    
    
    
    

    
    
        
        
        
        
    




五、spring-mybatis.xml
这个部分没啥好写的,别处抄的,这里可以写那个分页的配置,pageHelper或者其他分页功能的配置,我也在想着怎么把applicationContext里面的数据库配置挪过来,感觉应该分离出来更好点,更加符合逻辑点。





    
        
    


六、jdbc.properties

jdbc.user=root
jdbc.password=woshimima
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/niub?useUnicode=true&characterEncoding=UTF-8

七、两个日志文件,log4j.properties和logback.xml,之所以有两个,因为后面那个logback更加强大,但是spring中默认是log4j的日志,随便用吧,我这里抄别人的,大家可以仔细看看吧

### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###
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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志文件设置 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = vincent_player_debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志文件设置 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = vincent_player_error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n



    logback
    
    
    
    
        
        
        
            DEBUG
        
        
        
        
            %d [%thread] %-5level %logger{36} [%file : %line] - %msg%n
        
    

    
        
        
        
        ${scheduler.manager.server.home}/logs/${app.name}.log
        
        
            
            ${scheduler.manager.server.home}/logs/${app.name}.%d{yyyy-MM-dd.HH}.log.gz
            
            
            60
            
            20GB
        
        
            
            100MB
        
        
        
            %d [%thread] %-5level %logger{36} [%file : %line] - %msg%n
        
    

    
    
        
        
        
    

    
    
    

    
    
    
    
    
        
    

    
    
    

八、三个jsp文件
index.jsp

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




NIUB



	

Natrual Image , Unique Beauty

自然的想象力,独一无二的美丽

相信自己,加油!

username
password

success.jsp

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




Insert title here


	username    
password
success.jsp

error.jsp

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




Insert title here


	error.jsp


九、bean,ctrl,dao,service,impl部分的代码
bean部分,用entity也行,自己随意就行

package com.ssm.user.bean;

public class User {
	private Integer id;
	private String userName;
	private String password;
	
	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 getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}

}

ctrl部分
这里为什么只用写success就行了,可以到那个springmvc-servlet中查看


        
        
        
        
    

这里定义了前缀和后缀,所以不需要写其他的,直接写个success就好,同时注意注解的部分

package com.ssm.user.ctrl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.ssm.user.bean.User;
import com.ssm.user.service.UserService;

@Controller
@RequestMapping("/user")
public class UserCtrl {

	@Autowired
	private UserService userService;
	
	@RequestMapping("/login")
	public ModelAndView login(User user){
		ModelAndView mv = new ModelAndView();
		User obj = this.userService.getPwdByUserName(user);
		if(obj != null && obj.getPassword() != null && obj.getPassword().equals(user.getPassword())){
			mv.addObject("obj", obj) ;
			mv.setViewName("success");
		}else{
			mv.setViewName("error");
		}
		
		return mv;
	}

}

service部分

package com.ssm.user.service;

import com.ssm.user.bean.User;

public interface UserService {

	User getPwdByUserName(User user);

}

impl部分,同样要注意注解@Service,@Transactional,@Resource,需要了解这几个注解的意义。

package com.ssm.user.service.impl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.ssm.user.bean.User;
import com.ssm.user.dao.UserMapper;
import com.ssm.user.service.UserService;

@Service("userService")
@Transactional
public class UserServiceImpl implements UserService{
	
	@Resource
	private UserMapper userMapper;

	public User getPwdByUserName(User user) {
		// TODO Auto-generated method stub
		User obj = this.userMapper.getPwdByUserName(user);
		return obj;
	}

}

dao部分

package com.ssm.user.dao;

import com.ssm.user.bean.User;

public interface UserMapper {

	User getPwdByUserName(User user);

}

十、Mapper.xml部分代码,注意这个namespace和dao同名,不然无法识别





    

十一、数据库部分建语句

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(40) NOT NULL,
  `password` varchar(40) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

至此就结束了,大家可以跑一下代码,对于新手来说应该很齐全了,我会把文件放我资源里面,免费,大家下吧

你可能感兴趣的:(Java框架)