SSM整合(一)
SSM整合(一)
文章目錄
- SSM整合(一)
- @[toc]
- 一、環境工具準備
- 二、創庫創表插入模擬數據
- 三、搭建項目框架基本結構
- 3.1創建項目(選擇maven)
- 3.2設置項目名稱與保存位置
- 3.3確認maven的設置
- 3.4 檢測到Web框架時點擊Configure
- 3.5在pom.xml文件中添加maven依賴
- 四、完善項目框架結構
- 4.1創建pojo層
- 4.2創建dao層
- 4.3創建映射文件
- 4.4創建service層
- 4.5創建controller層
- 4.6創建view視圖層
- 五、編寫項目框架配置文件
- 5.1數據庫配置文件
- 5.2日志配置文件
- 5.3mybatis核心配置文件
- 5.4mybatis與spring整合配置文件
- 5.5mvc核心配置文件
- 5.6web.xml配置文件
- 六、測試運行
- 6.1訪問視圖頁面
- 6.2訪問測試—獲取JSON數據
- @[toc]
- 一、環境工具準備
- 二、創庫創表插入模擬數據
- 三、搭建項目框架基本結構
- 3.1創建項目(選擇maven)
- 3.2設置項目名稱與保存位置
- 3.3確認maven的設置
- 3.4 檢測到Web框架時點擊Configure
- 3.5在pom.xml文件中添加maven依賴
- 四、完善項目框架結構
- 4.1創建pojo層
- 4.2創建dao層
- 4.3創建映射文件
- 4.4創建service層
- 4.5創建controller層
- 4.6創建view視圖層
- 五、編寫項目框架配置文件
- 5.1數據庫配置文件
- 5.2日志配置文件
- 5.3mybatis核心配置文件
- 5.4mybatis與spring整合配置文件
- 5.5mvc核心配置文件
- 5.6web.xml配置文件
- 六、測試運行
- 6.1訪問視圖頁面
- 6.2訪問測試—獲取JSON數據
一、環境工具準備
具體請參考博文中Maven的 pom.xml 文件
二、創庫創表插入模擬數據
2.1 以下腳本為創建ssmDB數據庫腳本,可直接復制到你的 Navicat工具中執行
#1.創建ssmDB數據庫 create database ssmDB;#2.選中數據庫 use ssmDB;#3.創建角色信息表 create table role(roleId int not null primary key auto_increment comment '角色主鍵編號',roleName varchar(20) not null comment '角色名稱'#管理員、店長、收銀員 )comment='角色信息';#4.創建用戶信息表 create table `user`(userId int not null primary key auto_increment comment '用戶主鍵編號',roleId int not null comment '角色編號(外鍵)',realName varchar(20) not null comment '用戶姓名',userName varchar(50) not null comment '用戶賬號',userPwd varchar(50) not null comment '用戶密碼',userSex int not null comment '性別',# 0:女,1:男birthday date not null comment '出生日期',phone char(11) comment '手機號碼' )comment='用戶信息';#5.為用戶信息表中roleId字段添加外鍵約束 alter table `user` add constraint fk_roleId foreign key (roleId) references role (roleId);#6.為主表角色表添加角色信息 insert into role values(null,'管理員'),(null,'店長'),(null,'收銀員'); #查詢用戶角色信息select * from role; #7.為從表用戶信息表添加用戶信息 #錄入管理員信息: insert into `user`(userId,roleId,realName,userName,userPwd,userSex,birthday,phone) values(null,'1','管理員(楊明)','admin','123456','1','1992-05-10','13111111111');#錄入店長信息: insert into `user`(userId,roleId,realName,userName,userPwd,userSex,birthday,phone) values (null,'2','劉妃平','liufeiping','123456','0','1998-11-10','13222222222'), (null,'2','張曼妮','zhangmanni','123456','0','1994-09-20','13333333333'), (null,'2','李詩韻','lishiyun','123456','0','1995-07-21','13444444444'), (null,'2','艾菲菲','aifeifei','123456','0','1996-05-16','13555555555'), (null,'2','李悠然','liyouran','123456','1','1998-07-10','13666666666'), (null,'2','李君莫','lijunmo','123456','1','1999-06-28','13777777777'), (null,'2','顧傾城','guqingcheng','123456','0','1999-01-25','13888888888');#錄入收銀員: insert into `user`(userId,roleId,realName,userName,userPwd,userSex,birthday) values (null,'3','劉可冉','liukeran','111111','0','2005-11-10'), (null,'3','張曉曉','zhangxiaoxiao','111111','0','1994-04-20'), (null,'3','李樂樂','lilele','111111','0','2005-07-21'), (null,'3','君染染','junranran','222222','1','2001-01-13'), (null,'3','胡馨茜','huxinqian','222222','0','2002-07-10'), (null,'3','胡雨佳','huyujia','222222','0','2003-06-22'), (null,'3','楊可顏','yangkeyan','333333','0','2004-01-27');#查詢用戶信息 select * from `user`;#查詢多表 select u.userId,u.realName,u.userName,u.userPwd,u.userSex,u.birthday,u.roleId,r.roleName from `user` u inner join role r on u.roleId=r.roleId;2.2表結構與表數據:
三、搭建項目框架基本結構
3.1創建項目(選擇maven)
3.2設置項目名稱與保存位置
3.3確認maven的設置
3.4 檢測到Web框架時點擊Configure
3.5在pom.xml文件中添加maven依賴
以下依賴包支持使用SSM實現基本增刪改查、事務、文件上傳、JSON數據轉換、AOP切面、分頁查詢
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.9</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.20</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.20</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.9.1</version><scope>runtime</scope></dependency><!--mybatis spring整合包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.7</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version></dependency><!-- 數據源druid依賴包--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.10</version></dependency><!--Jackson處理JSON數據轉換--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.3</version></dependency><!-- 文件上傳依賴包--><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.11.0</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency><!--分頁查詢插件--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.3.0</version></dependency> </dependencies>四、完善項目框架結構
4.1創建pojo層
這里創建實體類利用了IDEA工具快速生成
生成Role角色實體類
package com.aiden.ssm.pojo;import java.io.Serializable;/*** 角色信息實體類*/ public class Role implements Serializable {private static final long serialVersionUID = 490468334340172770L;/*** 角色主鍵編號*/private Integer roleId;/*** 角色名稱*/private String roleName;//省略 getter/setter...}生成User用戶信息實體類
package com.aiden.ssm.pojo;import java.io.Serializable; import java.util.Date;/*** 用戶信息實體類*/ public class User implements Serializable {/*** 用戶主鍵編號*/private Integer userId;/*** 用戶姓名*/private String realName;/*** 角色編號(外鍵)*/private Integer roleId;/*** 用戶賬號*/private String userName;/*** 用戶密碼*/private String userPwd;/*** 性別*/private Integer userSex;/*** 出生日期*/private Date birthday;/*** 手機號碼*/private String phone;//省略 getter/setter... }4.2創建dao層
創建UserMapper接口
package com.aiden.ssm.mapper;import com.aiden.ssm.pojo.User;import java.sql.SQLException; import java.util.List;/*** 用戶DAO接口** @author Aiden*/ public interface UserMapper {/*** 查詢全部用戶** @return* @throws SQLException*/List<User> findUserAll() throws SQLException;/*** 分頁查詢用戶信息** @param realName 用戶姓名* @param pageIndex 當前頁索引* @param pageSize 每頁顯示的條數* @return* @throws SQLException*/List<User> findUserListByPage(String realName, Integer pageIndex, Integer pageSize) throws SQLException;/*** 根據用戶主鍵編號查詢用戶對象** @param userId 用戶主鍵編號* @return*/User findUserById(Integer userId);/*** 新增用戶信息** @param user* @return* @throws SQLException*/int insert(User user) throws SQLException;/*** 修改用戶信息** @param user* @return* @throws SQLException*/int update(User user) throws SQLException;/*** 刪除用戶信息** @param userId 用戶主鍵編號* @return* @throws SQLException*/int delete(Integer userId) throws SQLException; }4.3創建映射文件
在resources根資源文件夾目錄想創建與dao同包名的目錄結構
UserMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace 綁定一個對應的dao/mapper接口--> <mapper namespace="com.aiden.ssm.mapper.UserMapper"><resultMap id="userWithRole" type="com.aiden.ssm.pojo.User"><id property="userId" column="userId"></id><association property="role" javaType="com.aiden.ssm.pojo.Role"><id property="roleId" column="rId"></id><id property="roleName" column="roleName"></id></association> </resultMap> <!--查詢 --> <select id="findUserAll" resultType="com.aiden.ssm.pojo.User" resultMap="userWithRole">select u.userId,u.realName,u.userName,u.userPwd,u.userSex,u.birthday,u.roleId,r.roleId as rId,r.roleName from `user` uinner join role r on u.roleId=r.roleId </select><select id="findUserById" resultType="com.aiden.ssm.pojo.User">select u.userId,u.realName,u.userName,u.userPwd,u.userSex,u.birthday,u.roleId,r.roleName from `user` uinner join role r on u.roleId=r.roleIdwhere userId=#{userId} </select> <!--新增--> <insert id="insert">INSERT INTO `user`(`realName`, `roleId`, `userName`, `userPwd`, `userSex`, `birthday`, `phone`)VALUES (#{realName},#{roleId},#{userName},#{userPwd},#{userSex},#{birthday},#{phone}); </insert> <!--修改--> <update id="update">update `user`<set><if test="realName != null and realName != ''">realName=#{realName},</if><if test="role.roleId != null">roleId=#{roleId},</if><if test="userName != null and userName != ''">userName=#{userName},</if><if test="userPwd != null and userPwd != ''">userPwd=#{userPwd},</if><if test="userSex != null">userSex=#{userSex},</if><if test="birthday != null and birthday != ''">birthday=#{birthday},</if><if test="phone != null and phone != ''">phone=#{phone},</if></set>where userId=#{userId} </update> <!--刪除--> <delete id="delete">delete from `user` where userId=#{userId} </delete> </mapper>4.4創建service層
package com.aiden.ssm.service;import com.aiden.ssm.pojo.User;import java.sql.SQLException; import java.util.List;/*** 用戶DAO接口** @author Aiden*/ public interface UserService {/*** 查詢全部用戶** @return*/List<User> findUserAll() ;/*** 根據用戶主鍵編號查詢用戶對象** @param userId 用戶主鍵編號* @return*/User findUserById(Integer userId);/*** 新增用戶信息** @param user* @return*/int insert(User user) ;/*** 修改用戶信息** @param user* @return*/int update(User user) ;/*** 刪除用戶信息** @param userId 用戶主鍵編號* @return*/int delete(Integer userId) ; }service.impl
package com.aiden.ssm.service.impl;import com.aiden.ssm.mapper.UserMapper; import com.aiden.ssm.pojo.User; import com.aiden.ssm.service.UserService; import org.springframework.stereotype.Service;import javax.annotation.Resource; import java.sql.SQLException; import java.util.List;/*** 用戶業務層實現類** @author Aiden*/ @Service public class UserServiceImpl implements UserService {@Resourceprivate UserMapper userMapper;@Overridepublic List<User> findUserAll() {List<User> userList = null;try {userList = userMapper.findUserAll();} catch (SQLException e) {e.printStackTrace();}return userList;}@Overridepublic User findUserById(Integer userId) {User user = null;try {user = userMapper.findUserById(userId);} catch (SQLException e) {e.printStackTrace();}return user;}@Overridepublic int insert(User user) {int result = 0;try {result = userMapper.insert(user);} catch (SQLException e) {e.printStackTrace();}return result;}@Overridepublic int update(User user) {int result = 0;try {result = userMapper.update(user);} catch (SQLException e) {e.printStackTrace();}return result;}@Overridepublic int delete(Integer userId) {int result = 0;try {result = userMapper.delete(userId);} catch (SQLException e) {e.printStackTrace();}return result;} }4.5創建controller層
package com.aiden.ssm.controller;import com.aiden.ssm.pojo.User; import com.aiden.ssm.service.UserService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*;import javax.annotation.Resource; import java.util.List;/*** 用戶控制器** @author Aiden*/ @Controller @RequestMapping("/user") public class UserController {@Resourceprivate UserService userService;@GetMapping("/index")public String index() {return "user/index";}@ResponseBody@GetMapping("/getUsers")public List<User> getUsers() {return userService.findUserAll();}@GetMapping("/details/{id}")public String details(@PathVariable Integer id, Model model) {User user = userService.findUserById(id);model.addAttribute("user", user);return "user/details";}@GetMapping("/insert")public String insert() {return "user/insert";}@PostMapping("insert")public String insert(User user) {return "user/insert";}@GetMapping("/update/{id}")public String update(@PathVariable Integer id, Model model) {User user = userService.findUserById(id);model.addAttribute("user", user);return "user/update";}@PostMapping("/update")public String update(User user) {return "user/update";}}4.6創建view視圖層
在WEB-INF/jsp目錄下創建user目錄,在user目錄下創建index.jsp頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>用戶列表信息管理頁面</title> </head> <body><h1>用戶列表信息管理頁面</h1> </body> </html>五、編寫項目框架配置文件
5.1數據庫配置文件
druid數據源配置
druid.driverClassName=com.mysql.cj.jdbc.Driver druid.url=jdbc:mysql://localhost:3306/ssmdb?useUnicode=true&allowPublicKeyRetrieval=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai druid.username=root druid.password=root druid.initialSize=10 druid.minIdle=6 druid.maxActive=50 druid.maxWait=60000 druid.timeBetweenEvictionRunsMillis=60000 druid.minEvictableIdleTimeMillis=300000 druid.validationQuery=SELECT 'x' druid.testWhileIdle=true druid.testOnBorrow=false druid.testOnReturn=false druid.poolPreparedStatements=false druid.maxPoolPreparedStatementPerConnectionSize=20 druid.filters=wall,stat5.2日志配置文件
log4j.rootLogger=debug,CONSOLE,file #log4j.rootLogger=ERROR,ROLLING_FILElog4j.logger.com.aiden.ssm=debug log4j.logger.org.apache.ibatis=debug log4j.logger.org.mybatis.spring=debug log4j.logger.java.sql.Connection=debug log4j.logger.java.sql.Statement=debug log4j.logger.java.sql.PreparedStatement=debug log4j.logger.java.sql.ResultSet=debug############################################################################# # Console Appender 日志在控制輸出配置 ############################################################################# log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=debug log4j.appender.CONSOLE.DatePattern=yyyy-MM-dd log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern= - (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n############################################################################# # DailyRolling File 每天產生一個日志文件,文件名格式:log2022-05-25 ############################################################################# log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.DatePattern=yyyy-MM-dd log4j.appender.file.File=${ssm.root}/logs/log.log log4j.appender.file.Append=true log4j.appender.file.Threshold=debug log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern= - (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%nlog4j.logger.com.opensymphony.xwork2=debug5.3mybatis核心配置文件
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--MyBatis核心文件配置--> <configuration><settings><!--1.日志輸出--><setting name="logImpl" value="STDOUT_LOGGING"/><!--2.自動映射--><setting name="autoMappingBehavior" value="FULL"/><!--3.全局性懶加載--><setting name="lazyLoadingEnabled" value="true"/></settings><plugins><!--PageHelper分頁攔截器 --><plugin interceptor="com.github.pagehelper.PageInterceptor"><property name="param1" value="value1"/></plugin></plugins> </configuration>5.4mybatis與spring整合配置文件
applicationContext-mybatis.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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.2.xsd"><!--1.掃描dao、service包--><context:component-scan base-package="com.aiden.ssm.mapper"></context:component-scan><context:component-scan base-package="com.aiden.ssm.service"></context:component-scan><!--2.配置數據源--><context:property-placeholder location="classpath:database.properties"></context:property-placeholder><bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${druid.driverClassName}"/><property name="url" value="${druid.url}"/><property name="username" value="${druid.username}"/><property name="password" value="${druid.password}"/><!-- 初始化連接數量 --><property name="initialSize" value="${druid.initialSize}"/><!-- 最小空閑連接數 --><property name="minIdle" value="${druid.minIdle}"/><!-- 最大并發連接數 --><property name="maxActive" value="${druid.maxActive}"/><!-- 配置獲取連接等待超時的時間 --><property name="maxWait" value="${druid.maxWait}"/><!--以下暫時可以不需要配置--><!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 --><property name="timeBetweenEvictionRunsMillis" value="${druid.timeBetweenEvictionRunsMillis}"/><!-- 配置一個連接在池中最小生存的時間,單位是毫秒 --><property name="minEvictableIdleTimeMillis" value="${druid.minEvictableIdleTimeMillis}"/><property name="validationQuery" value="${druid.validationQuery}"/><property name="testWhileIdle" value="${druid.testWhileIdle}"/><property name="testOnBorrow" value="${druid.testOnBorrow}"/><property name="testOnReturn" value="${druid.testOnReturn}"/><!-- 打開PSCache,并且指定每個連接上PSCache的大小 如果用Oracle,則把poolPreparedStatements配置為true,mysql可以配置為false。 --><property name="poolPreparedStatements" value="${druid.poolPreparedStatements}"/><property name="maxPoolPreparedStatementPerConnectionSize"value="${druid.maxPoolPreparedStatementPerConnectionSize}"/><!-- 配置監控統計攔截的filters --><property name="filters" value="${druid.filters}"/></bean><!-- 3.配置sqlSessionFactory--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 3.1設置管理的JDBC數據源--><property name="dataSource" ref="druidDataSource"></property><!-- 3.2設置類型別名--><property name="typeAliasesPackage" value="com.aiden.ssm.pojo"></property><!-- 3.3設置MyBatis SqlSessionFactory配置文件的位置--><property name="configLocation" value="classpath:mybatis-config.xml"></property></bean><!-- 4.掃描mapper映射配置文件--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.aiden.ssm.mapper"></property></bean></beans>5.5mvc核心配置文件
springmvc-servlet.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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--1.開啟注解--><mvc:annotation-driven><!--配置消息轉換器--><mvc:message-converters><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><constructor-arg name="objectMapper"><bean class="com.fasterxml.jackson.databind.ObjectMapper"><property name="dateFormat"><bean class="java.text.SimpleDateFormat"><constructor-arg name="pattern" value="yyyy-MM-dd"></constructor-arg></bean></property><property name="timeZone" value="Asia/Shanghai"></property></bean></constructor-arg></bean></mvc:message-converters></mvc:annotation-driven><!--2.掃描控制層--><context:component-scan base-package="com.aiden.ssm.controller"></context:component-scan><!-- 3.處理靜態資源--><mvc:resources mapping="/statics/**" location="/statics/"></mvc:resources><!--4.配置視圖解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"></property><property name="suffix" value=".jsp"></property></bean> </beans>5.6web.xml配置文件
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>Aiden Archetype Created Web Application</display-name><!--1.配置上下文參數(mybatis-spring)相關配置--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext-*.xml</param-value></context-param><!-- 2.配置mvc前端控制器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 3.配置處理字符編碼過濾器--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--4.配置監聽器--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener> </web-app>六、測試運行
6.1訪問視圖頁面
瀏覽器訪問 http://localhost:8080/ssm/user/index
Postman訪問 http://localhost:8080/ssm/user/index
6.2訪問測試—獲取JSON數據
訪問: http://localhost:8080/ssm/user/getUsers
到這里我們已經初步完成SSM的整合了,在示例中我們能在客戶端正常訪問mvc前端控制器,能夠訪問視圖index也能正常獲取JSON數據,如果你細心點就會發現獲取到的JSON數據中時間類型變成了long類型數據,在SSM整合(二)中,將會徹底解決這一問題!敬請待續…
總結
- 上一篇: OCCT培训笔记(刘星讲)--第2天
- 下一篇: 安全算法-对称加密与非对称加密