SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程

目录

1 前言

2 三大框架是什么?

3 ssm演示

4 目录结构:

5 SSM框架整合配置全过程

5.1,创建一个maven项目

5.2、建包写代码

1)建包:

2)创建类及其方法:

3)配置文件:

      注意!!!:

4)前端代码

5)配置web.xml的文件

6)数据库

6 测试:

7 结语:


1 前言

三大框架的整合在Java中使用的非常的频繁,网上搜索了很多,却没有几个能真正跑通的,本着自己学习,自己整合了一下。以下为个人通过网上搜索资料,视频学习整合下来的笔记汇总。在编写完本文之后,我有又按着自己的文章步骤整合了一下,经过一番修正,已经可以正常使用。接下来将从创建项目到运行进行详细说明。

注:关于技术性的问题我不多介绍,有不明白的可以自行查询,本文只是详细介绍整合过程,并给出ssm框架所有的代码。

本人文采不行,说的都是通俗的话。废话也不多,以免看着心烦,但是配图够详细,足以新人学习看懂。

此版本为最基础版本,后期还会更改。

2 三大框架是什么?

网上有很多介绍,由于自己学习使用,不在多说。代码及说明文中有详细注释。 

废话少说,上来就是干!

3 ssm演示

先给大家演示一下本文ssm框架所能实现的功能,以免大家看了半天发现不符合自己的需求,浪费宝贵的时间。

请你移步到本文的最后测试部分。

4 目录结构:

首先展示一下整体的代码结构:

                                          

本文创建的是maven项目,目录结构就是上图中所示。

5 SSM框架整合配置全过程

5.1,创建一个maven项目

1)首先打开eclipse,(ieda创建maven项目可以在网上搜索到教程,比较简单,跟eclipse相差不多,不在赘述)

      如果之前没在eclipse上创建maven项目,可以看这个视频,教学很详细。http://www.imooc.com/learn/443

      如果不想使用maven项目整合ssm,也可以创建Dynamic Web project进行。方式相同,主要是导jar包方式不一样。

2)新建一个maven项目,点击下一步(next),会出现如下视图。选择(maven-archetype-webAPP),点击next。

                                

3)此时会出现如下界面,然后根据自己的需求填写如下内容。最后点击finish。

                                

4)此时,maven项目构建成功,需要做以下处理。

                                  

     (1)配置JDK和Tomcat。

              配置JDK:在项目上右击 --> Build Path  -->  Configure Build Path -->  Libraries -->  选中JRE,右侧点击Edit。

              做出如下修改点击finish完成JDK的配置。

                                      

            配置Tomcat:点击右侧Add Library  --> 选中Server Runtime双击 -->  选中Apache Tomcat v9.0  -->点击finish。

            点击Apply,完成jdk和Tomcat的配置。项目中会显示如下红框选中项。

                                     

     (2)配置pom.xml文件。

                 pom.mxl文件中配置的都是ssm框架需要的jar包。可以自行复制进自己的pom.xml文件中。如果有jar升级,可以自行去https://mvnrepository.com/搜索下载。            

           注:以下所有的配置文件都不建议全篇复制,根据需要选中所需部分自行复制。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jtv.ssm-config</groupId>
  <artifactId>ssm-config</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>  
  <name>ssm-config Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  
  <dependencies>
    <!-- 1.日志 -->
	<dependency>
	  <groupId>log4j</groupId>
	  <artifactId>log4j</artifactId>
	  <version>1.2.17</version>
	</dependency>
	  
	<!-- 2.数据库 -->
	<dependency>
	  <groupId>mysql</groupId>
	  <artifactId>mysql-connector-java</artifactId>
	  <version>5.1.45</version>
	  <scope>runtime</scope>
	</dependency>

    <!-- DAO: MyBatis -->
	<dependency>
	  <groupId>org.mybatis</groupId>
	  <artifactId>mybatis</artifactId>
	  <version>3.5.2</version>
	</dependency>
	<dependency>
	  <groupId>org.mybatis</groupId>
	  <artifactId>mybatis-spring</artifactId>
	  <version>1.3.1</version>
	</dependency>	  
	  
	  
    <!-- 3.Servlet web -->
	<dependency>
	  <groupId>taglibs</groupId>
	  <artifactId>standard</artifactId>
	  <version>1.1.2</version>
	</dependency>
	<dependency>
	  <groupId>jstl</groupId>
	  <artifactId>jstl</artifactId>
	  <version>1.2</version>
	</dependency>
	<dependency>
	  <groupId>com.fasterxml.jackson.core</groupId>
	  <artifactId>jackson-databind</artifactId>
	  <version>2.9.8</version>
	</dependency>
	<dependency>
	  <groupId>javax.servlet</groupId>
	  <artifactId>javax.servlet-api</artifactId>
	  <version>3.1.0</version>
	</dependency>
	
    <!-- 4.Spring -->
	<!-- 1)Spring核心: 4+1 -->
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-core</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-beans</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-context</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-expression</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	
	<dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>
	<!-- 2)Spring DAO层 -->
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-jdbc</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-tx</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<!-- 3)Spring web -->
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-web</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-webmvc</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<!-- 4)Spring test -->
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-test</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<!-- 5)Spring aop框架 -->
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-aop</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-aspects</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>
	<!-- 6)Spring orm框架 -->
	<dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-orm</artifactId>
	  <version>5.1.9.RELEASE</version>
	</dependency>

	<!-- redis客户端:Jedis -->
	<dependency>
	  <groupId>redis.clients</groupId>
	  <artifactId>jedis</artifactId>
	  <version>3.1.0</version>
	</dependency>
	<dependency>
	  <groupId>io.protostuff</groupId>
	  <artifactId>protostuff-core</artifactId>
	  <version>1.6.0</version>
	  <scope>test</scope>
	</dependency>
	<dependency>
	  <groupId>io.protostuff</groupId>
	  <artifactId>protostuff-runtime</artifactId>
	  <version>1.6.0</version>
	</dependency>

	<!-- Map工具类 -->
	<dependency>
	  <groupId>commons-collections</groupId>
	  <artifactId>commons-collections</artifactId>
	  <version>3.2</version>
	</dependency>	
	
	<dependency>
      <groupId>aopalliance</groupId>
      <artifactId>aopalliance</artifactId>
      <version>1.0</version>
    </dependency> 
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.9.2</version>
    </dependency>
    
  </dependencies>
  
  <build>
    <finalName>ssm-web</finalName>
	
  </build>
  
</project>

    至此,环境基本没问题了,开始编写代码了。真正的困难来了。。。。。

5.2、建包写代码

1)建包:

                                         

2)创建类及其方法:

1)在entity包下创建User.java: 

User.java

该类的属性需要与数据库中的字段的名称保持一致,需要将这里的属性进行调整。

如果这里的类名属性名进行了修改,下面的配置文件,引用等都需要做相应的修改,否则会报错。如果是初学着,可以先建个与本文相同的数据表,等搭成功了再进行改动,效果最好。

package com.jtv.entity;

public class User {

	private int uid;
	private String username;
	private String password;

	public int getUid() {
		return uid;
	}
	public void setUid(int uid) {
		this.uid = uid;
	}
	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;
	}
	@Override
	public String toString() {
		return "User [uid=" + uid + ", username=" + username + ", password=" + password + "]";
	}
}

 2) 在dao包下创建一个《接口》:UserDao.java:     

UserDao.java

如果对select注释不了解的可以先学习一下mybatis,有个了解之后再写ssm框架是最好不过了。

package com.jtv.dao;

import java.util.List;
import org.apache.ibatis.annotations.Select;
import com.jtv.entity.User;

public interface UserDao {

	@Select("select * from user where username = #{username} and password = #{password}")
	User login(User user);
	
	@Select("select * from user")
	List<User> selectAll();
}

3)在service包下创建一个《接口》:UserService.java,

      并在service包下创建子包impl,在子包下创建UserServiceImpl.java继承UserService.java,并实现其方法。

  这里可以不见接口,直接使用创建一个类,但是为了限制代码的规范性,这里使用了接口。

UserService.java

package com.jtv.service;

import java.util.List;
import com.jtv.entity.User;

public interface UserService {
	User login(User user);	
	List<User> selectAll();
}

UserServiceImpl.java

package com.jtv.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jtv.dao.UserDao;
import com.jtv.entity.User;
import com.jtv.service.UserService;

@Service("userservice")
public class UserServiceImpl implements UserService {

	@Autowired
	UserDao userDao;
	
	@Override
	public User login(User user) {
		return userDao.login(user);
	}

	@Override
	public List<User> selectAll() {
		return userDao.selectAll();
	}
}

4)在controller包下创建UserController.java

UserController.java

package com.jtv.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.jtv.entity.User;
import com.jtv.service.UserService;

@Controller
public class UserController {

	@Autowired
	UserService service;
	
	@RequestMapping("/login")
	public String login(User user,Model model){
		User u = service.login(user);
		if(u!=null){
			model.addAttribute("msg", u.getUsername());
			return "show";			
		}			
		else{
			return "error";
		}			
	}
	
	@RequestMapping("/queryAll")
	public String queryAll(Model model){
		model.addAttribute("all_info", service.selectAll());
		return "showAll";
	}
}

3)配置文件:

在resources目录下创建mybatis-config.xml,jdbc.properties,log4j.properties文件。

mybatis-config.xml

      这里用到了mybatis,所以需要配置mybatis核心文件,在recources文件夹里新建mybatis-config.xml文件。

      因为mybatis整合spring,所以将环境配置注释了,将在下面的spring-dao.xml文件中进行重新配置,以此说明。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<!-- <properties resource="jdbc.properties"></properties> -->
	
	<!-- 给实体类起别名 ,有两种方法,一般使用第二种-->
	<!-- 1)给单个类型起别名 -->
	<!-- <typeAlias type="com.jtv.entity.User" alias="user"/> -->
	<!-- 2)给整个包所有的类起别名  别名就是类名(不区分大小写)-->
	<typeAliases>
		<package name="com.jtv.entity"/>
	</typeAliases>
	
	<!-- <environments default="dev">
		<environment id="dev">
			<transactionManager type="JDBC"></transactionManager>
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}"/>
				<property name="url" value="${jdbc.url}"/>
				<property name="username" value="${jdbc.username}"/>
				<property name="password" value="${jdbc.password}"/>
			</dataSource>
		</environment>
	</environments> -->
	
	<!-- 映射器  -->
	<mappers>
		<!-- 映射文件路径 -->
		<package name="com.jtv.dao"/>
	</mappers>
</configuration>  

 

jdbc.properties

student是我的数据库的名字,这里需要改成自己的数据库的名字。否则会报错!!!

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///student?useSSL=true
jdbc.username=root
jdbc.password=

注意!!!:

       这里一定要非常非常非常的注意,在配置文件中,我使用的是jdbc.**的命名格式,这样做的的目的是为了防止配置中的jdbc.username与系统环境中的username冲突,导致在运行程序连接数据库的时候username读取的是你系统中的username,最终数据库连接失败。密码改成自己的设置的密码!

我开始用的是username,一直报错,坑了一下午,最后大神帮我找出问题了。一定要注意,也建议以后jdbc的配置文件使用这种格式,不但不会报错,还显得逼格很高。

log4j.properties

这个没啥好说的,复制进去进行。日志输出的。

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example=DEBUG
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

在resources/spring目录下创建spring-dao.xml,spring-web.xml文件。

spring-dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx.xsd">
        
     <context:component-scan base-package="com.jtv.service"></context:component-scan>   
     <!-- 配置整合mybatis过程 -->    
     <!--1.配置数据源数据库相关参数properties的属性  四个参数 -->   
     <context:property-placeholder location="classpath:jdbc.properties"/>
     <!-- 2,数据库连接池。   在xml中创建对象,就是这种方式,id是对象名,class是全限定名   -->
     <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
     	<!-- 配置连接池的属性 -->
     	<property name="driverClassName" value="${jdbc.driver}"></property>
     	<property name="url" value="${jdbc.url}"></property>
     	<property name="username" value="${jdbc.username}"></property>
     	<property name="password" value="${jdbc.password}"></property>
     </bean>   
     <!--2.sqlsessionFactory对象创建交给spring  -->   
     <bean id="sqlsessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
     	<!-- 注入数据库连接池 -->
     	<property name="dataSource" ref="datasource"></property>
     	<!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
     	<property name="configLocation" value="classpath:mybatis-config.xml"></property>
     	<!-- 扫描entity包 使用别名 -->
		<!-- <property name="typeAliasesPackage" value="com.soecode.lyf.entity" /> -->
		<!-- 扫描sql配置文件:mapper需要的xml文件 -->
		<!-- <property name="mapperLocations" value="classpath:mapper/*.xml" /> -->
     </bean>
     <!-- 3.mapper对象的创建和管理交给spring 
                                 配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 给出需要扫描Dao接口包 -->
		<property name="basePackage" value="com.jtv.dao" />
		<!-- 注入sqlSessionFactory -->
		<property name="sqlSessionFactoryBeanName" value="sqlsessionFactory" />
	</bean>
	
	<!-- 4.配置事务管理器  把事务管理交由spring(aop)来完成
		1、配置事务管理器
		2、配置事务添加策略
		3、织入事务
	-->
	<!-- 1)、配置事务管理器 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<!-- 注入数据库连接池 -->
		<property name="dataSource" ref="datasource" />
	</bean>
	<!-- 2)、配置事务添加策略 -->
	<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
		<tx:attributes>
		    <!-- 怎样的方法添加怎样事务,name:方法的名字 -->
			<tx:method name="query*" read-only="true"/>
			<tx:method name="find*" read-only="true"/>
			<tx:method name="login*" read-only="true"/>
			<tx:method name="insert*" propagation="REQUIRED"/>
			<tx:method name="update*" propagation="REQUIRED"/>
			<tx:method name="delete*" propagation="REQUIRED"/>
		</tx:attributes>
	</tx:advice>
	<!-- 3)、织入事务,将上面2的事务添加到切入点里面 -->
	<aop:config>
		<aop:pointcut expression="execution(* com.jtv.service..*(..))" id="pointCut"/>
		<aop:advisor advice-ref="transactionAdvice" pointcut-ref="pointCut"/>
	</aop:config>
</beans>        

spring-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context.xsd
	http://www.springframework.org/schema/mvc
	http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
		
	
	<!-- 配置SpringMVC 可以使用@RequestMapping,@PathVariable,@ResponseBody等-->
	<!-- 1.开启SpringMVC注解模式 -->
	<!-- 简化配置: 
		(1)自动注册DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter 
		(2)提供一些列:数据绑定,数字和日期的format @NumberFormat, @DateTimeFormat, xml,json默认读写支持 
	-->
	 <mvc:annotation-driven />
	
	<!-- 2.静态资源默认servlet配置
		(1)加入对静态资源的处理:js,gif,png
		(2)允许使用"/"做整体映射
	 -->
	 <mvc:default-servlet-handler/>
	 
	<!-- 3.配置jsp视图解析器, 显示ViewResolver -->
	 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	 	<!-- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> -->
	 	<property name="prefix" value="/WEB-INF/jsp/" />
	 	<property name="suffix" value=".jsp" />
	 </bean>
	 
	<!-- 4.扫描web相关的bean -->
	 <context:component-scan base-package="com.jtv.controller" />
</beans>

4)前端代码

在webapp目录下写一个入口代码index.jsp,

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="login" method="get">
		username:<input type="text" name="username"> <br>
		password:<input type="password" name="password"><br>
		<input type="submit" value="login">	
	</form>
</body>
</html>

在webapp/jsp目录下写error.jsp,show.jsp,showAll.jsp

show.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	${msg },欢迎你!
	<a href="queryAll">查询所有数据</a>
</body>
</html>

error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

登录失败!!!

</body>
</html>

showAll.jsp

记得在代码中添加如下代码:

     <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

	<table border="1" cellpadding="5" cellspacing="0" width="500px">
		<tr>
			<td>编号</td>	
			<td>姓名</td>	
			<td>密码</td>	
		</tr>
		<c:forEach items="${all_info }" var="info">
			<tr>
				<td>${info.uid }</td>	
				<td>${info.username }</td>	
				<td>${info.password }</td>	
			</tr>
		</c:forEach>
	</table>
</body>
</html>

5)配置web.xml的文件

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
  http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <display-name>ssm-config</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <context-param>
  	<param-name>contextConfigLocation</param-name>
  	<param-value>classpath:spring/spring-dao.xml</param-value>
  </context-param>
  <listener>
  	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
    <!-- 如果是用mvn命令生成的xml,需要修改servlet版本为3.1 -->
	<!-- 配置前端控制器:处理的入口。配置DispatcherServlet -->
	<servlet>
		<!-- 配置的前端控制器的名字(名字随意) -->
		<servlet-name>SpringMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 配置springMVC需要加载的配置文件 spring-web.xml
			Mybatis - > spring -> springmvc
		 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring/spring-web.xml</param-value>
		</init-param> 
	</servlet>
	<!-- 配置servlet可以处理哪些请求 -->
	<servlet-mapping>
		<servlet-name>SpringMVC</servlet-name>
		<!-- 默认匹配所有的请求 -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>
  
</web-app>

6)数据库

打开Navicat for MySQL软件,新建一个student数据库,在student数据库中新建一个user数据表,添加uid(int,主键自增),username(varchar),password(varchar)三个字段,并给定一些数据。

这里的字段名称需要与User.java中的属性名保持一致,切记!!

 

6 测试:

项目名称右击 -->  Run As  -->  Run on Service  -->  选中Tomcat  -->  Finish。

                                              

然后打开浏览器,在地址栏输入:http://localhost:8080/ssm-config/    输入用户名、密码,点击login。

                                 

1)输入正确的用户名、密码,显示如下。

                

点击链接查询所有数据    (这里的不能点击哦~_~),就会返回所有的查询数据,也就是数据表中的所有数据。

                                 

2)输入错误的用户名、密码。

                  

7 结语:

到此,我们的SSM框架整合配置,与应用演示已经结束了,本想把整个文件打包上传,但是我觉得我写的很详细了,如果全部按着我的步骤来做,估计只需半个小时就能把整个框架搭好并跑通。希望初学者能够实际动手操作一两遍,对自己的学习会有很大的帮助,如果实在不想敲,想要源码,可以在下面留言,留下邮箱,我看到的时候会发送。

如果有不足之处,还希望指出,大神请轻喷。 ~_~

最后,如果喜欢就给个star,给个鼓励吧,还会继续更新,加强,优化代码。

 

持续更新中。。。。。。。

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值