SSM整合使用
文章目錄
- 項目結構
- 數據庫準備
- 整合流程
- 引入相關依賴
- 開發mybatis相關
- mybatis-config.xml
- 創建bean類
- 創建mapper.java接口文件
- 創建mapper.xml SQL配置文件
- 開發Spring相關
- 1、spring的配置文件
- 2.其他的spring管理類
- 開發SpringMVC相關
- 1.在web.xml配置文件中配置前端控制器
- 2.配置springmvc的配置文件
- 開發controller層(Handler)
- 開發頁面
- 部署并啟動服務
項目結構
數據庫準備
整合流程
引入相關依賴
<!--web依賴--><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.1.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.1.7.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency><!--Spring 基本核心jar包--><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.1.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.1.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.1.7.RELEASE</version></dependency><!--log4j日志--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.0</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.39</version></dependency><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl-api</artifactId><version>1.2</version></dependency><!-- jstl-impl --><dependency><groupId>org.glassfish.web</groupId><artifactId>jstl-impl</artifactId><version>1.2</version></dependency>開發mybatis相關
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"> <configuration><!--數據源及映射都可以不配置,放在spring配置文件中--> </configuration>創建bean類
User
public class User {private long id;private String name;private String passwd;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPasswd() {return passwd;}public void setPasswd(String passwd) {this.passwd = passwd;}}創建mapper.java接口文件
public interface UserMapper {public User selectUser(User user); }創建mapper.xml SQL配置文件
<?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:命令空間 為對應的接口文件的全路徑--> <mapper namespace="com.liangcheng.mapper.UserMapper"><select id="selectUser" parameterType="com.liangcheng.bean.User" resultType="com.liangcheng.bean.User">select * from user where name = #{name} and passwd = #{passwd}</select></mapper>開發Spring相關
1、spring的配置文件
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/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!--開啟注解掃描,指定包路徑或者類名:會掃描類、方法、屬性上是否有注解--><context:component-scan base-package="com.liangcheng"/><!--配置數據源:c3p0數據源--><bean id="datasource" class="com.mchange.v2.c3p0.DriverManagerDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/exercise"/><property name="user" value="root"/><property name="password" value="021314"/></bean><!--會話工廠的配置--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--加載mybatis的配置文件--><property name="configLocation" value="classpath:mybatis-config.xml"/><!--配置數據源--><property name="dataSource" ref="datasource"/><!--配置映射文件--><property name="mapperLocations" value="classpath:mapper/*.xml"/></bean><!--動態代理對象--><bean class="org.mybatis.spring.mapper.MapperFactoryBean"><!--接口--><property name="mapperInterface" value="com.liangcheng.mapper.UserMapper"/><property name="sqlSessionFactory" ref="sqlSessionFactory"/></bean> </beans>2.其他的spring管理類
@Service public class UserService {@Autowiredprivate UserMapper userMapper;//登陸業務public boolean login(String name ,String passwd){if(name !=null&& name.equals(name.trim())&&passwd !=null&& passwd.equals(passwd.trim()) ){User user = new User();user.setName(name);user.setPasswd(passwd);//通過dao層接口查詢User user1 = userMapper.selectUser(user);if(user1!=null){//用戶信息存在,合法登陸return true;}}//登陸失敗return false;} }開發SpringMVC相關
1.在web.xml配置文件中配置前端控制器
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><!--加載spring容器:通過監聽器來加載spring的配置文件--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-core.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--配置前端控制器--><servlet><servlet-name>ssm</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>ssm</servlet-name><url-pattern>/</url-pattern><!--http://www.baidu.com/index--></servlet-mapping> </web-app>2.配置springmvc的配置文件
<?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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"><!--配置SpringMVC的需要掃描的包路徑--><context:component-scan base-package="com.liangcheng.controller"/><!--配置映射器、適配器:使用默認的處理器處理,不用顯性配置映射器、適配器--><mvc:annotation-driven/><!--視圖解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean></beans>開發controller層(Handler)
@Controller public class LoginController {@Autowiredprivate UserService userService;//指定登錄的頁面@RequestMapping("/login")public String login() {//指定登錄頁面return "login";}//獲取用戶提交信息@RequestMapping("/loginUser")public String loginUser(User user) {boolean login = userService.login(user.getName(), user.getPasswd());if (login) {//登錄成功return "success";} else {return "fail";}} }開發頁面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!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>登錄操作</title> </head> <body> <form action="/loginUser" method="post"><table align="center" border="1"><th colspan="2" >歡迎登錄</th><tr><td>用戶名:</td><td> <input type="text" name="name"/></tr><tr><td>密碼</td><td> <input type="password" name="passwd"/></tr><tr><td colspan="2" > <button align="center" value="登錄操作">登錄操作</button></td></tr></table> </form> </body> </html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!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>success</title> </head> <body> <h1>登錄成功!</h1> </body> </html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!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>success</title> </head> <body> <h1>密碼或賬戶錯誤,請重新登錄</h1> </body> </html>部署并啟動服務
總結
- 上一篇: JavaSE基础复习总结
- 下一篇: Redis缓存穿透、击穿、雪崩及主从复制