经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 软件/图像 » Maven » 查看文章
spring+springmvc+mybatis+maven入门实战(超详细教程)
来源:jb51  时间:2019/5/15 8:38:04  对本文有异议

入门篇

本篇文章涉及到的技术有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进行以下配置

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.wffanshao</groupId>
  6. <artifactId>test</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>war</packaging>
  9. <properties>
  10. <!-- Spring版本号 -->
  11. <spring.version>4.3.6.RELEASE</spring.version>
  12. </properties>
  13. <dependencies>
  14. <!-- Spring依赖包 -->
  15. <dependency>
  16. <groupId>org.springframework</groupId>
  17. <artifactId>spring-aop</artifactId>
  18. <version>${spring.version}</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.springframework</groupId>
  22. <artifactId>spring-aspects</artifactId>
  23. <version>${spring.version}</version>
  24. </dependency>
  25. <dependency>
  26. <groupId>org.springframework</groupId>
  27. <artifactId>spring-beans</artifactId>
  28. <version>${spring.version}</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework</groupId>
  32. <artifactId>spring-context</artifactId>
  33. <version>${spring.version}</version>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.springframework</groupId>
  37. <artifactId>spring-core</artifactId>
  38. <version>${spring.version}</version>
  39. </dependency>
  40. <dependency>
  41. <groupId>org.springframework</groupId>
  42. <artifactId>spring-expression</artifactId>
  43. <version>${spring.version}</version>
  44. </dependency>
  45. <dependency>
  46. <groupId>org.springframework</groupId>
  47. <artifactId>spring-jdbc</artifactId>
  48. <version>${spring.version}</version>
  49. </dependency>
  50. <dependency>
  51. <groupId>org.springframework</groupId>
  52. <artifactId>spring-tx</artifactId>
  53. <version>${spring.version}</version>
  54. </dependency>
  55. <!-- springmvc依赖包 -->
  56. <dependency>
  57. <groupId>org.springframework</groupId>
  58. <artifactId>spring-web</artifactId>
  59. <version>${spring.version}</version>
  60. </dependency>
  61. <dependency>
  62. <groupId>org.springframework</groupId>
  63. <artifactId>spring-webmvc</artifactId>
  64. <version>${spring.version}</version>
  65. </dependency>
  66. <!-- MyBatis依赖包 -->
  67. <dependency>
  68. <groupId>org.mybatis</groupId>
  69. <artifactId>mybatis</artifactId>
  70. <version>3.4.2</version>
  71. </dependency>
  72. <!-- Spring、MyBatis集成包 -->
  73. <dependency>
  74. <groupId>org.mybatis</groupId>
  75. <artifactId>mybatis-spring</artifactId>
  76. <version>1.3.1</version>
  77. </dependency>
  78. <!-- AOP依赖包 -->
  79. <dependency>
  80. <groupId>aopalliance</groupId>
  81. <artifactId>aopalliance</artifactId>
  82. <version>1.0</version>
  83. </dependency>
  84. <dependency>
  85. <groupId>asm</groupId>
  86. <artifactId>asm</artifactId>
  87. <version>3.3.1</version>
  88. </dependency>
  89. <dependency>
  90. <groupId>org.aspectj</groupId>
  91. <artifactId>aspectjweaver</artifactId>
  92. <version>1.8.1</version>
  93. </dependency>
  94. <dependency>
  95. <groupId>cglib</groupId>
  96. <artifactId>cglib</artifactId>
  97. <version>2.2.2</version>
  98. </dependency>
  99. <!-- MySQL驱动包 -->
  100. <dependency>
  101. <groupId>mysql</groupId>
  102. <artifactId>mysql-connector-java</artifactId>
  103. <version>5.1.44</version>
  104. </dependency>
  105. <!-- 数据库连接池依赖包 -->
  106. <dependency>
  107. <groupId>commons-dbcp</groupId>
  108. <artifactId>commons-dbcp</artifactId>
  109. <version>1.4</version>
  110. </dependency>
  111. <dependency>
  112. <groupId>commons-pool</groupId>
  113. <artifactId>commons-pool</artifactId>
  114. <version>1.6</version>
  115. </dependency>
  116. <dependency>
  117. <groupId>commons-logging</groupId>
  118. <artifactId>commons-logging</artifactId>
  119. <version>1.1.1</version>
  120. </dependency>
  121. <!-- JSP标准标签库 -->
  122. <dependency>
  123. <groupId>javax.servlet</groupId>
  124. <artifactId>jstl</artifactId>
  125. <version>1.2</version>
  126. </dependency>
  127. <!-- 日志依赖包 -->
  128. <!-- 第一种,不推荐 可以用于学习log4j,正式项目中不推荐使用,这样是依赖具体的log4j日志系统。 -->
  129. <!-- <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId>
  130. <version>1.2.17</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId>
  131. <artifactId>log4j-api</artifactId> <version>2.0-rc1</version> </dependency>
  132. <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId>
  133. <version>2.0-rc1</version> </dependency> -->
  134. <!-- 第二种,博主推荐这种 一般创建工程,建议通过slf4j设计日志系统,方便扩展 -->
  135. <dependency>
  136. <groupId>org.slf4j</groupId>
  137. <artifactId>slf4j-api</artifactId>
  138. <version>1.7.5</version>
  139. </dependency>
  140. <dependency>
  141. <groupId>org.slf4j</groupId>
  142. <artifactId>slf4j-log4j12</artifactId>
  143. <version>1.7.5</version>
  144. </dependency>
  145. <!-- 动态加载依赖包 -->
  146. <dependency>
  147. <groupId>org.javassist</groupId>
  148. <artifactId>javassist</artifactId>
  149. <version>3.18.1-GA</version>
  150. </dependency>
  151. </dependencies>
  152. <build>
  153. <!-- 指定打包后文件的名字,例如test.war -->
  154. <finalName>test</finalName>
  155. <plugins>
  156. <!-- 指定jdk版本为1.8 -->
  157. <plugin>
  158. <groupId>org.apache.maven.plugins</groupId>
  159. <artifactId>maven-compiler-plugin</artifactId>
  160. <configuration>
  161. <source>1.8</source>
  162. <target>1.8</target>
  163. </configuration>
  164. </plugin>
  165. </plugins>
  166. </build>
  167. <!-- 配置阿里巴巴maven节点,下载速度比较快 -->
  168. <repositories>
  169. <repository>
  170. <id>people.apache.snapshots</id>
  171. <url>
  172. http://repository.apache.org/content/groups/snapshots-group/
  173. </url>
  174. <releases>
  175. <enabled>false</enabled>
  176. </releases>
  177. <snapshots>
  178. <enabled>true</enabled>
  179. </snapshots>
  180. </repository>
  181. </repositories>
  182. </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

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

3.配置数据源文件

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

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

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

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

User.java的代码如下

  1. package com.wffanshao.po;
  2. /**
  3. * @描述 用户PO类
  4. * @author WF帆少
  5. * @微信 13025261795
  6. *
  7. */
  8. public class User {
  9. private String username; // 用户名
  10. private String password; // 用户密码
  11. public String getUsername() {
  12. return username;
  13. }
  14. public void setUsername(String username) {
  15. this.username = username;
  16. }
  17. public String getPassword() {
  18. return password;
  19. }
  20. public void setPassword(String password) {
  21. this.password = password;
  22. }
  23. }

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

UserMapper.java代码如下

  1. package com.wffanshao.mapper;
  2. import com.wffanshao.po.User;
  3. /**
  4. * @描述 用户Mapper接口
  5. * @author WF帆少
  6. * @微信 13025261795
  7. *
  8. */
  9. public interface UserMapper {
  10. /**
  11. * @描述 添加用户
  12. * @param user
  13. * @throws Exception
  14. */
  15. boolean insertUser(User user) throws Exception;
  16. }

UserMapper.xml代码如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.wffanshao.mapper.UserMapper">
  4. <!-- 添加用户 -->
  5. <insert id="insertUser" parameterType="User" >
  6. <!-- 使用动态sql,通过if判断,满足条件进行sql拼接 -->
  7. <if test="username != null and password != null">
  8. INSERT INTO user(username, password)
  9. VALUES(#{username}, #{password})
  10. </if>
  11. </insert>
  12. </mapper>

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

UserService.java代码如下

  1. package com.wffanshao.service;
  2. import com.wffanshao.po.User;
  3. /**
  4. * @描述 用户Service接口
  5. * @author WF帆少
  6. * @微信 13025261795
  7. *
  8. */
  9. public interface UserService {
  10. /**
  11. * @描述 添加用户
  12. * @param user
  13. * @throws Exception
  14. */
  15. boolean insertUser(User user) throws Exception;
  16. }

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

UserServiceImpl.java代码如下

  1. package com.wffanshao.service.impl;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import com.wffanshao.mapper.UserMapper;
  4. import com.wffanshao.po.User;
  5. import com.wffanshao.service.UserService;
  6. /**
  7. * @描述 用户Service接口的实现类
  8. * @author WF帆少
  9. * @微信 13025261795
  10. *
  11. */
  12. public class UserServiceImpl implements UserService{
  13. @Autowired
  14. private UserMapper userMapper;
  15. /**
  16. * @描述 添加用户
  17. * @param user
  18. * @throws Exception
  19. */
  20. @Override
  21. public boolean insertUser(User user) throws Exception {
  22. return userMapper.insertUser(user);
  23. }
  24. }

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

UserController.java代码如下

  1. package com.wffanshao.controller;
  2. import javax.servlet.http.HttpServletRequest;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.web.bind.annotation.GetMapping;
  6. import org.springframework.web.bind.annotation.PostMapping;
  7. import com.wffanshao.po.User;
  8. import com.wffanshao.service.UserService;
  9. /**
  10. * @描述 用户Controller
  11. * @author WF帆少
  12. * @微信 13025261795
  13. *
  14. */
  15. @Controller
  16. public class UserController {
  17. @Autowired
  18. private UserService userService;
  19. /**
  20. * @描述 跳转到login.jsp
  21. * @return
  22. */
  23. @GetMapping("/login")
  24. public String login() {
  25. return "login";
  26. }
  27. /**
  28. * @描述 从login.jsp中的表单提交中获取数据并将它们添加到数据库中,
  29. * @return 如果添加成功,跳转到success.jsp,否则,跳转到fail.jsp
  30. */
  31. @PostMapping("/insertUser")
  32. public String insertUser(HttpServletRequest request) throws Exception {
  33. User user = new User();
  34. String username = request.getParameter("username");
  35. String password = request.getParameter("password");
  36. user.setUsername(username);
  37. user.setPassword(password);
  38. boolean isSuccess = false;
  39. isSuccess = userService.insertUser(user);
  40. if (isSuccess) {
  41. return "success";
  42. } else {
  43. return "fail";
  44. }
  45. }
  46. }

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

login.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>注册</title>
  8. </head>
  9. <body>
  10. <form action="${pageContext.request.contextPath }/insertUser" method="post">
  11. <table>
  12. <tr>
  13. <td>用户名:</td>
  14. <td><input type="text" name="username"></td>
  15. </tr>
  16. <tr>
  17. <td>密码:</td>
  18. <td><input type="password" name="password"></td>
  19. </tr>
  20. <tr>
  21. <td>
  22. <input type="submit" value="注册">
  23. </td>
  24. </tr>
  25. </table>
  26. </form>
  27. </body>
  28. </html>

success.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>注册成功</title>
  8. </head>
  9. <body>
  10. <h2>注册成功</h2>
  11. </body>
  12. </html>

fail.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>注册失败</title>
  8. </head>
  9. <body>
  10. <h2>注册失败</h2>
  11. </body>
  12. </html>

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

application-dao.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:aop="http://www.springframework.org/schema/aop"
  7. xmlns:tx="http://www.springframework.org/schema/tx"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  12. http://www.springframework.org/schema/context
  13. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  14. http://www.springframework.org/schema/aop
  15. http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  16. http://www.springframework.org/schema/tx
  17. http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
  18. <!-- 加载db.properties文件中的内容,db.properties文件中key命名要有一定的特殊规则 -->
  19. <context:property-placeholder location="classpath:db.properties" />
  20. <!-- 配置数据源,dbcp -->
  21. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  22. <property name="driverClassName" value="${jdbc.driver}"/>
  23. <property name="url" value="${jdbc.url}"/>
  24. <property name="username" value="${jdbc.username}"/>
  25. <property name="password" value="${jdbc.password}"/>
  26. <property name="maxActive" value="30"/>
  27. <property name="maxIdle" value="5"/>
  28. </bean>
  29. <!-- sqlSessionFactory -->
  30. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  31. <!-- 数据库连接池 -->
  32. <property name="dataSource" ref="dataSource" />
  33. <!-- 加载mybatis的全局配置文件 -->
  34. <property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml" />
  35. </bean>
  36. <!-- mapper扫描器 -->
  37. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  38. <!-- 扫描包路径,如果需要扫描多个包,中间用半角逗号隔开-->
  39. <property name="basePackage" value="com.wffanshao.mapper"></property>
  40. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
  41. </bean>
  42. </beans>

application-service.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:aop="http://www.springframework.org/schema/aop"
  7. xmlns:tx="http://www.springframework.org/schema/tx"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  12. http://www.springframework.org/schema/context
  13. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  14. http://www.springframework.org/schema/aop
  15. http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  16. http://www.springframework.org/schema/tx
  17. http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
  18. <!-- 用户的service -->
  19. <bean id="userService" class="com.wffanshao.service.impl.UserServiceImpl"></bean>
  20. </beans>

applicationContext-transaction.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:aop="http://www.springframework.org/schema/aop"
  7. xmlns:tx="http://www.springframework.org/schema/tx"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  12. http://www.springframework.org/schema/context
  13. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  14. http://www.springframework.org/schema/aop
  15. http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  16. http://www.springframework.org/schema/tx
  17. http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
  18. <!--
  19. 事务管理器
  20. 对mybatis操作数据库的事务控制,spring使用jdbc的事务控制类
  21. -->
  22. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  23. <!--
  24. 数据源
  25. dataSource在applicationContext-dao.xml中配置了
  26. -->
  27. <property name="dataSource" ref="dataSource" />
  28. </bean>
  29. <!-- 通知 -->
  30. <tx:advice id="txAdvice" transaction-manager="transactionManager">
  31. <tx:attributes>
  32. <!-- 传播行为 -->
  33. <tx:method name="save*" propagation="REQUIRED"/>
  34. <tx:method name="delete*" propagation="REQUIRED"/>
  35. <tx:method name="insert*" propagation="REQUIRED"/>
  36. <tx:method name="update*" propagation="REQUIRED"/>
  37. <tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
  38. <tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
  39. <tx:method name="select*" propagation="SUPPORTS" read-only="true"/>
  40. </tx:attributes>
  41. </tx:advice>
  42. <!-- aop -->
  43. <aop:config>
  44. <!-- 配置切入点 -->
  45. <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.wffanshao.service.impl.*.*(..))"/>
  46. </aop:config>
  47. </beans>

springmvc.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:aop="http://www.springframework.org/schema/aop"
  7. xmlns:tx="http://www.springframework.org/schema/tx"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  12. http://www.springframework.org/schema/context
  13. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  14. http://www.springframework.org/schema/aop
  15. http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  16. http://www.springframework.org/schema/tx
  17. http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
  18. <!-- 注解(推荐使用) -->
  19. <!-- 可以扫描controller、service.... 这里让扫描controller,指定controller的包 -->
  20. <context:component-scan
  21. base-package="com.wffanshao.controller"></context:component-scan>
  22. <!-- 注解的处理器映射器 -->
  23. <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"
  24. /> -->
  25. <!-- 注解的处理器适配器 -->
  26. <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"
  27. /> -->
  28. <!-- 使用mvc:annotation-driver代替上边注解映射器和注解适配器配置 mvc:annotation-driver默认加载很多的参数绑定方法,
  29. 比如json转换解析器被默认加载了,如果使用mvc:annotation-driver不用配置上边RequestMappingHandlerMapping,RequestMappingHandlerAdapter
  30. 实际开发时使用mvc:annotation-driven conversion-service:自定义参数绑定的注入 -->
  31. <mvc:annotation-driven></mvc:annotation-driven>
  32. <!-- 静态资源解析
  33. 包括:js、css、img....
  34. -->
  35. <!-- <mvc:resources location="/js/" mapping="/js/**"/> -->
  36. <!-- 视图解析器 解析jsp解析,默认使用jstl标签 ,classpath下的有jstl的包 -->
  37. <bean
  38. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  39. <!-- 配置jsp路径的前缀 -->
  40. <property name="prefix" value="/WEB-INF/jsp/" />
  41. <!-- 配置jsp路径的后缀 -->
  42. <property name="suffix" value=".jsp" />
  43. </bean>
  44. <!-- 自定义参数绑定 -->
  45. <!--
  46. <bean id="conversionService"
  47. class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
  48. 转换器
  49. <property name="converters">
  50. 日期类型转换
  51. <bean class="com.wffanshao.controller.converter.CustomDateConverter"></bean>
  52. </property>
  53. </bean>
  54. -->
  55. <!-- 配置校验器 -->
  56. <!--
  57. <bean id="validator"
  58. class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
  59. 校验器,使用hibernate校验器
  60. <property name="providerClass"
  61. value="org.hibernate.validator.HibernateValidator" />
  62. 指定校验使用的资源文件,在文件中配置校验错误信息,如果不指定则默认使用classpath下面的ValidationMessages.properties文件
  63. <property name="validationMessageSource" ref="messageSource" />
  64. </bean> -
  65. ->
  66. <!-- 校验错误信息配置文件 -->
  67. <!--
  68. <bean id="messageSource"
  69. class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  70. 资源文件名
  71. <property name="basenames">
  72. <list>
  73. <value>classpath:CustomValidationMessage</value>
  74. </list>
  75. </property>
  76. 资源文件编码格式
  77. <property name="defaultEncoding" value="utf-8" />
  78. 对资源文件内容缓存时间,单位秒
  79. <property name="cacheSeconds" value="120" />
  80. </bean> -
  81. ->
  82. <!-- 全局异常处理器 只要实现HandlerExceptionResolver接口就是全局异常处理器 -->
  83. <!--
  84. <bean class="com.wffanshao.exception.CustomExceptionResolver"></bean>
  85. -->
  86. <!-- 上传文件 -->
  87. <!--
  88. <bean id="multipartResolver"
  89. class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  90. 最大文件大小,设置上传文件的最大尺寸为5M,-1为不限制大小,
  91. <property name="maxUploadSize" >
  92. <value>5242880</value>
  93. </property>
  94. </bean>
  95. -->
  96. <!-- 拦截器 -->
  97. <!--
  98. <mvc:interceptors>
  99. 多个拦截器,顺序执行
  100. <mvc:interceptor>
  101. <mvc:mapping path="/**" />
  102. <bean class="com.wffanshao.interceptor.LoginInterceptor"/>
  103. </mvc:interceptor>
  104. <mvc:interceptor>
  105. <mvc:mapping path="/**" />
  106. <bean class="com.wffanshao.interceptor.HandlerInterceptor1"/>
  107. </mvc:interceptor>
  108. <mvc:interceptor>
  109. <mvc:mapping path="/**" />
  110. <bean class="com.wffanshao.interceptor.HandlerInterceptor2"/>
  111. </mvc:interceptor>
  112. </mvc:interceptors>
  113. -->
  114. </beans>

四、配置tomcat服务器

注意:博主使用的是tomcat7

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

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

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

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

四、装配项目

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

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

五、启动tomcat服务器

启动服务器

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

六、测试

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

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

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

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号