spring+springmvc+mybatis+maven入门实战(超详细教程)

入门篇

本篇文章涉及到的技术有spring、springmvc、mybatis、mysql、xml、maven、jsp、javase、javaweb、eclipse

下面开始本篇文章的教程

一、新建maven项目

一般通过这种方法新建maven项目

假如你的eclipse不能通过上面的方法新建maven项目,也可以通过下面的方法新建maven项目

看到下面的项目结构,说明你已经成功创建了一个maven项目。但是这个项目报错,根据标准的web项目结构来说,目前这个项目缺少了web.xml

利用eclipse自动生成web.xml

看到这个项目已经没有报错,说明已经成功生成了web.xml

二、Maven配置

下面是该项目的maven配置,在pom.xml进行以下配置

<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.wffanshao</groupId>
	<artifactId>test</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<properties>
		<!-- Spring版本号 -->
		<spring.version>4.3.6.RELEASE</spring.version>
	</properties>

	<dependencies>

		<!-- Spring依赖包 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<!-- springmvc依赖包 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<!-- MyBatis依赖包 -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.2</version>
		</dependency>

		<!-- Spring、MyBatis集成包 -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.1</version>
		</dependency>

		<!-- AOP依赖包 -->
		<dependency>
			<groupId>aopalliance</groupId>
			<artifactId>aopalliance</artifactId>
			<version>1.0</version>
		</dependency>
		<dependency>
			<groupId>asm</groupId>
			<artifactId>asm</artifactId>
			<version>3.3.1</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.1</version>
		</dependency>
		<dependency>
			<groupId>cglib</groupId>
			<artifactId>cglib</artifactId>
			<version>2.2.2</version>
		</dependency>

		<!-- MySQL驱动包 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.44</version>
		</dependency>

		<!-- 数据库连接池依赖包 -->
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>
		<dependency>
			<groupId>commons-pool</groupId>
			<artifactId>commons-pool</artifactId>
			<version>1.6</version>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.1</version>
		</dependency>

		<!-- JSP标准标签库 -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

		<!-- 日志依赖包 -->
		<!-- 第一种,不推荐 可以用于学习log4j,正式项目中不推荐使用,这样是依赖具体的log4j日志系统。 -->
		<!-- <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId>
			<version>1.2.17</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId> <version>2.0-rc1</version> </dependency>
			<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId>
			<version>2.0-rc1</version> </dependency> -->
		<!-- 第二种,博主推荐这种 一般创建工程,建议通过slf4j设计日志系统,方便扩展 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.5</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.5</version>
		</dependency>

		<!-- 动态加载依赖包 -->
		<dependency>
			<groupId>org.javassist</groupId>
			<artifactId>javassist</artifactId>
			<version>3.18.1-GA</version>
		</dependency>

	</dependencies>

	<build>
		<!-- 指定打包后文件的名字,例如test.war -->
		<finalName>test</finalName>
		<plugins>
			<!-- 指定jdk版本为1.8 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<!-- 配置阿里巴巴maven节点,下载速度比较快 -->
	<repositories>
		<repository>
			<id>people.apache.snapshots</id>
			<url>
				http://repository.apache.org/content/groups/snapshots-group/
			</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>

</project>

三、搭建ssm环境

1.在src/main/java新建4个包、在src/main/resources下新建2个包以及2个properties文件、在webapp/WEB-INF下新建1个文件夹,包名、文件名以及文件夹名如图所示。

src/main/java:一般用来存放java文件

src/main/resources:一般用来存放ssm相关的配置文件

src/test/java和src/test/resources:一般用来存放测试文件,这两个包下的文件不会被编译、打包等

webapp/WEB-INF:一般用来存放普通用户访问不到而管理员可以访问的web动态页面

2.配置log4j日志文件

log4j.properties代码如下,有些网友在复制楼主的代码会产生乱码,这是由于eclipse的properties文件默认编码为ISO-8859-1

我们需要将编码设置为UTF-8

##### Global logging configuration
##### 在开发环境下日志级别设置成DEBUG,生产环境设置成INFO或ERROR
log4j.rootLogger=DEBUG, stdout
##### mybatis日志配置
log4j.logger.org.mybatis.example.BlogMapper=TRACE
##### 输出到控制台,这里也可以输出到文件中,可以自己设置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

3.配置数据源文件

db.properties代码如下,此处采用非硬编码的方式对数据源进行配置,也就是将数据源相关信息配置到db.properties中,采用非硬编码的好处是方便项目日后的维护以及方便拓展。当然你也可是采用硬编码方式(传统方式)进行配置,也就是直接在spring配置文件中配置。

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=test

4.在mysql中新建ssm数据库,并在ssm数据库中新建一个user表,表的结构如图所示

5.com.wffanshao.po中新建一个PO类,名字为User

User.java的代码如下

package com.wffanshao.po;

/**
 * @描述 用户PO类
 * @author WF帆少
 * @微信 13025261795
 *
 */
public class User {

	private String username; // 用户名

	private String password; // 用户密码

	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;
	}

}

6.在com.wffanshao.mapper中新建UserMapper接口和UserMapper.xml

UserMapper.java代码如下

package com.wffanshao.mapper;

import com.wffanshao.po.User;

/**
 * @描述 用户Mapper接口
 * @author WF帆少
 * @微信 13025261795
 *
 */
public interface UserMapper {

	/**
	 * @描述 添加用户
	 * @param user
	 * @throws Exception
	 */
	boolean insertUser(User user) throws Exception;

}	

UserMapper.xml代码如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.wffanshao.mapper.UserMapper">

		<!-- 添加用户 -->
		<insert id="insertUser" parameterType="User" >
			<!-- 使用动态sql,通过if判断,满足条件进行sql拼接 -->
			<if test="username != null and password != null">
				INSERT INTO user(username, password)
				VALUES(#{username}, #{password})
			</if>
		</insert>
</mapper>

7.在com.wffanshao.service中新建UserService接口

UserService.java代码如下

package com.wffanshao.service;

import com.wffanshao.po.User;

/**
 * @描述 用户Service接口
 * @author WF帆少
 * @微信 13025261795
 *
 */
public interface UserService {

	/**
	 * @描述 添加用户
	 * @param user
	 * @throws Exception
	 */
	boolean insertUser(User user) throws Exception;
}

8.在com.wffanshao.service.impl中新建UserServiceImpl类

UserServiceImpl.java代码如下

package com.wffanshao.service.impl;

import org.springframework.beans.factory.annotation.Autowired;

import com.wffanshao.mapper.UserMapper;
import com.wffanshao.po.User;
import com.wffanshao.service.UserService;

/**
 * @描述 用户Service接口的实现类
 * @author WF帆少
 * @微信 13025261795
 *
 */
public class UserServiceImpl implements UserService{

	@Autowired
	private UserMapper userMapper;

	/**
	 * @描述 添加用户
	 * @param user
	 * @throws Exception
	 */
	@Override
	public boolean insertUser(User user) throws Exception {
		return userMapper.insertUser(user);
	}

}

9..在com.wffanshao.controller中新建UserController类

UserController.java代码如下

package com.wffanshao.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import com.wffanshao.po.User;
import com.wffanshao.service.UserService;

/**
 * @描述 用户Controller
 * @author WF帆少
 * @微信 13025261795
 *
 */
@Controller
public class UserController {

	@Autowired
	private UserService userService;

	/**
	 * @描述 跳转到login.jsp
	 * @return
	 */
	@GetMapping("/login")
	public String login() {
		return "login";
	}

	/**
	 * @描述 从login.jsp中的表单提交中获取数据并将它们添加到数据库中,
	 * @return 如果添加成功,跳转到success.jsp,否则,跳转到fail.jsp
	 */
	@PostMapping("/insertUser")
	public String insertUser(HttpServletRequest request) throws Exception {
		User user = new User();
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		user.setUsername(username);
		user.setPassword(password);
		boolean isSuccess = false;
		isSuccess = userService.insertUser(user);
		if (isSuccess) {
			return "success";
		} else {
			return "fail";
		}

	}

}

10.在webapp/WEB-INF/jsp下新建login.jsp、success.jsp、fail.jsp

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
	<form action="${pageContext.request.contextPath }/insertUser" method="post">
		<table>
			<tr>
				<td>用户名:</td>
				<td><input type="text" name="username"></td>
			</tr>
			<tr>
				<td>密码:</td>
				<td><input type="password" name="password"></td>
			</tr>
			<tr>
				<td>
					<input type="submit" value="注册">
				</td>
			</tr>
		</table>
	</form>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册成功</title>
</head>
<body>
	<h2>注册成功</h2>
</body>
</html>

fail.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册失败</title>
</head>
<body>
	<h2>注册失败</h2>
</body>
</html>

11.在src/main/resources/spring中新建4个xml文件

application-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:mvc="http://www.springframework.org/schema/mvc"
	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/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.2.xsd
  http://www.springframework.org/schema/aop
  http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  http://www.springframework.org/schema/tx
  http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

  <!-- 加载db.properties文件中的内容,db.properties文件中key命名要有一定的特殊规则 -->
  <context:property-placeholder location="classpath:db.properties" />

  <!-- 配置数据源,dbcp -->
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="${jdbc.driver}"/>
		<property name="url" value="${jdbc.url}"/>
		<property name="username" value="${jdbc.username}"/>
		<property name="password" value="${jdbc.password}"/>
		<property name="maxActive" value="30"/>
		<property name="maxIdle" value="5"/>
	</bean>
	<!-- sqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 数据库连接池 -->
		<property name="dataSource" ref="dataSource" />
		<!-- 加载mybatis的全局配置文件 -->
		<property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml" />
	</bean>
  <!-- mapper扫描器 -->
  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  	<!-- 扫描包路径,如果需要扫描多个包,中间用半角逗号隔开-->
  	<property name="basePackage" value="com.wffanshao.mapper"></property>
  	<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
  </bean>
</beans>

application-service.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:mvc="http://www.springframework.org/schema/mvc"
	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/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.2.xsd
  http://www.springframework.org/schema/aop
  http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  http://www.springframework.org/schema/tx
  http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

  <!-- 用户的service -->
  <bean id="userService" class="com.wffanshao.service.impl.UserServiceImpl"></bean>

</beans>

applicationContext-transaction.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:mvc="http://www.springframework.org/schema/mvc"
	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/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.2.xsd
  http://www.springframework.org/schema/aop
  http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  http://www.springframework.org/schema/tx
  http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

	<!--
	事务管理器
	对mybatis操作数据库的事务控制,spring使用jdbc的事务控制类
	-->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<!--
		数据源
		dataSource在applicationContext-dao.xml中配置了
		-->
		<property name="dataSource" ref="dataSource" />
	</bean>
	<!-- 通知 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<!-- 传播行为 -->
			<tx:method name="save*" propagation="REQUIRED"/>
			<tx:method name="delete*" propagation="REQUIRED"/>
			<tx:method name="insert*" propagation="REQUIRED"/>
			<tx:method name="update*" propagation="REQUIRED"/>
			<tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
			<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
			<tx:method name="select*" propagation="SUPPORTS" read-only="true"/>
		</tx:attributes>
	</tx:advice>
	<!-- aop -->
	<aop:config>
		<!-- 配置切入点 -->
		<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.wffanshao.service.impl.*.*(..))"/>
	</aop:config>
</beans>

springmvc.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:mvc="http://www.springframework.org/schema/mvc"
	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/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.2.xsd
  http://www.springframework.org/schema/aop
  http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  http://www.springframework.org/schema/tx
  http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

	<!-- 注解(推荐使用) -->
	<!-- 可以扫描controller、service.... 这里让扫描controller,指定controller的包 -->
	<context:component-scan
		base-package="com.wffanshao.controller"></context:component-scan>

	<!-- 注解的处理器映射器 -->
	<!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"
		/> -->
	<!-- 注解的处理器适配器 -->
	<!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"
		/> -->

	<!-- 使用mvc:annotation-driver代替上边注解映射器和注解适配器配置 mvc:annotation-driver默认加载很多的参数绑定方法,
		比如json转换解析器被默认加载了,如果使用mvc:annotation-driver不用配置上边RequestMappingHandlerMapping,RequestMappingHandlerAdapter
		实际开发时使用mvc:annotation-driven conversion-service:自定义参数绑定的注入 -->
	<mvc:annotation-driven></mvc:annotation-driven>

	<!-- 静态资源解析
	包括:js、css、img....
	-->
	<!-- <mvc:resources location="/js/" mapping="/js/**"/> -->

	<!-- 视图解析器 解析jsp解析,默认使用jstl标签 ,classpath下的有jstl的包 -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- 配置jsp路径的前缀 -->
		<property name="prefix" value="/WEB-INF/jsp/" />
		<!-- 配置jsp路径的后缀 -->
		<property name="suffix" value=".jsp" />
	</bean>

	<!-- 自定义参数绑定 -->
	<!--
	<bean id="conversionService"
		class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
		转换器
		<property name="converters">
			日期类型转换
			<bean class="com.wffanshao.controller.converter.CustomDateConverter"></bean>
		</property>
	</bean>
	-->

	<!-- 配置校验器 -->
	<!--
	<bean id="validator"
		class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
		校验器,使用hibernate校验器
		<property name="providerClass"
			value="org.hibernate.validator.HibernateValidator" />
		指定校验使用的资源文件,在文件中配置校验错误信息,如果不指定则默认使用classpath下面的ValidationMessages.properties文件
		<property name="validationMessageSource" ref="messageSource" />
	</bean> -
	->
	<!-- 校验错误信息配置文件 -->
	<!--
	<bean id="messageSource"
		class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
		资源文件名
		<property name="basenames">
			<list>
				<value>classpath:CustomValidationMessage</value>
			</list>
		</property>
		资源文件编码格式
		<property name="defaultEncoding" value="utf-8" />
		对资源文件内容缓存时间,单位秒
		<property name="cacheSeconds" value="120" />
	</bean> -
	->
	<!-- 全局异常处理器 只要实现HandlerExceptionResolver接口就是全局异常处理器 -->
	<!--
	<bean class="com.wffanshao.exception.CustomExceptionResolver"></bean>
 	-->

	<!-- 上传文件 -->
	<!--
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		最大文件大小,设置上传文件的最大尺寸为5M,-1为不限制大小,
		<property name="maxUploadSize" >
			<value>5242880</value>
		</property>
	</bean>
	-->

	<!-- 拦截器 -->
	<!--
	<mvc:interceptors>
	多个拦截器,顺序执行
		<mvc:interceptor>
	    <mvc:mapping path="/**" />
	    <bean class="com.wffanshao.interceptor.LoginInterceptor"/>
	  </mvc:interceptor>
	  <mvc:interceptor>
	    <mvc:mapping path="/**" />
	    <bean class="com.wffanshao.interceptor.HandlerInterceptor1"/>
	  </mvc:interceptor>
	  <mvc:interceptor>
	    <mvc:mapping path="/**" />
	    <bean class="com.wffanshao.interceptor.HandlerInterceptor2"/>
	  </mvc:interceptor>
	</mvc:interceptors>
-->

</beans> 

四、配置tomcat服务器

注意:博主使用的是tomcat7

这里没有教大家如何下载安装配置tomcat服务器,请大家自行学习,或者等博主后续教程补上。这里只教大家如何用eclipse配置tomcat服务器,需要提前下载解压安装好tomcat才能进行此步操作

配置好tomcat服务器之后,你会发现项目报错了

打开查看报错原因,你会发现该项目是因为无法解析jsp而报错,我们可以通过设置项目属性来解决该问题,即设置该项目的运行环境

设置完成后你会发项目已经不报错了

四、装配项目

将该项目添加到tomcat服务器中

到这里,已经成功将项目装配到tomcat服务器中了。

五、启动tomcat服务器

启动服务器

看到started并且控制台没有报错说明服务器启动成功

六、测试

在浏览器地址栏中http://localhost:8080/test/login,tomcat服务器默认端口为8080

接着输入用户名和密码,然后点击注册

注册成功会跳转到成功页面,并且在数据库中能查询到我们刚才输入的用户名和密码,

看到下面2张图所示的内容,证明ssm环境整合成功

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式,将整个系统划分为显示层.Controller层.Service层.Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理, MyBatis作为数据对象持久化引擎. 一. 框架详情 Spring是一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的.Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何J

  • 使用maven整合Spring+SpringMVC+Mybatis框架详细步骤(图文)

    (项目结构图参照文章末尾) 1.创建maven工程,在pom.xml文件中导入需要的jar包依赖: <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.apach

  • spring+springmvc+mybatis+maven入门实战(超详细教程)

    入门篇 本篇文章涉及到的技术有spring.springmvc.mybatis.mysql.xml.maven.jsp.javase.javaweb.eclipse 下面开始本篇文章的教程 一.新建maven项目 一般通过这种方法新建maven项目 假如你的eclipse不能通过上面的方法新建maven项目,也可以通过下面的方法新建maven项目 看到下面的项目结构,说明你已经成功创建了一个maven项目.但是这个项目报错,根据标准的web项目结构来说,目前这个项目缺少了web.xml 利用ec

  • ssm整合之Spring整合MyBatis框架配置事务的详细教程

    ssm整合之Spring整合MyBatis框架配置事务 1.在applicationContext.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

  • Spring+SpringMVC+MyBatis整合详细教程(SSM)

    使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些.以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下.这次,先说说三大框架整合过程.个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助.不过,如果用都不会,谈思想就

  • 使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)

    1 框架组成 Spring SpringMVC MyBatis 2 所需工具 Mysql 8.0.15 ​数据库管理系统,创建数据库 Tomcat 8.5.51 ​用于部署web项目 Maven 3.6.1 ​项目构建.项目依赖管理 lombok 1.18.10(可用可不用工具) ​用于类注解创建setter.getter.无参构造.全参构造.toString等函数 ​注:只导入依赖,不安装插件是不起作用的 3 搭建步骤 3.1 新建一个空Maven项目,填写项目相关信息,完成 3.2 添加we

  • Spring+SpringMVC+MyBatis整合实战(SSM框架)

    目录 SpringMVC Spring MyBatis 项目结构 maven配置文件pom.xml webapp配置文件web.xml spring配置文件applicationContext.xml spring-mvc配置文件spring-mvc.xml mybatis映射文件AccountMapper.xml mybatis配置文件(两种整合方法) 日志配置文件log4j.properties 建表语句 Tomcat传递过程 在写代码之前我们先了解一下这三个框架分别是干什么的? Sprin

  • SpringBoot整合mybatis-plus快速入门超详细教程

    目录 前言 mybatis-plus 简介 mybatis-plus 优点 相关链接 mybatis-plus实例 1.示例项目结构 2.数据库准备 3.pom.xml: 4.application.yml 5.User.java 6.UserMapper.java 7.UserServiceImpl.java 8.测试类 mybatis-plus的crud: 1.insert操作: 2.select操作: 3.update操作: 4.delete操作: 总结 前言 mybatis-plus 简

  • SSM框架整合之Spring+SpringMVC+MyBatis实践步骤

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从Spr

  • Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识

    1.对原生态jdbc程序中问题总结 1.1 jdbc程序 需求:使用jdbc查询mysql数据库中用户表的记录 statement:向数据库中发送一个sql语句 预编译statement:好处:提高数据库性能. 预编译statement向数据库中发送一个sql语句,数据库编译sql语句,并把编译的结果保存在数据库砖的缓存中.下次再发sql时,如果sql相同,则不会再编译,直接使用缓存中的. jdbc编程步骤: 1. 加载数据库驱动 2. 创建并获取数据库链接 3. 创建jdbc statemen

  • JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

    简单介绍一下,本框架的基本功能点: Spring:整个框架的主体部分,这个自不用说. SpringMVC:MVC部分我还是比较喜欢Spring的. MyBatis:选型的时候选择这个ORM主要也是考虑其灵活性的问题,毕竟我也不知道,今后会遇到怎样的需求,用Hibernate一来是不太会用,二来,我还是比较喜欢直接写SQL来的简单一点. SpringSecurity:这个主要是安全框架,负责用户登录验证及整站权限分配的相关事项(权限分配真的很有用,这个我就不多说了). EhCache:一个非常流行

随机推荐