【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤
一、整体概览
首先看maven工程的创建
二、各层的文件配置
2.1,SSM父工程
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><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>SSM-parent</groupId>
- <artifactId>Angel.SSM</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
- <!-- 集中定义依赖版本号 -->
- <properties>
- <junit.version>4.12</junit.version>
- <spring.version>4.1.3.RELEASE</spring.version>
- <mybatis.version>3.2.8</mybatis.version>
- <mybatis.spring.version>1.2.2</mybatis.spring.version>
- <mysql.version>5.1.32</mysql.version>
- <slf4j.version>1.6.4</slf4j.version>
- <jackson.version>2.4.2</jackson.version>
- <druid.version>1.0.9</druid.version>
- <jstl.version>1.2</jstl.version>
- <servlet-api.version>2.5</servlet-api.version>
- <jsp-api.version>2.0</jsp-api.version>
- <joda-time.version>2.5</joda-time.version>
- <commons-lang3.version>3.3.2</commons-lang3.version>
- <commons-io.version>1.3.2</commons-io.version>
- <commons-net.version>3.3</commons-net.version>
- <jsqlparser.version>0.9.1</jsqlparser.version>
- <commons-fileupload.version>1.3.1</commons-fileupload.version>
- </properties>
- <dependencyManagement>
- <dependencies>
- <!-- 时间操作组件 -->
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>${joda-time.version}</version>
- </dependency>
- <!-- Apache工具组件 -->
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>${commons-lang3.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-io</artifactId>
- <version>${commons-io.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-net</groupId>
- <artifactId>commons-net</artifactId>
- <version>${commons-net.version}</version>
- </dependency>
- <!-- Jackson Json处理工具包 -->
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
- </dependency>
- <!-- 单元测试 -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${junit.version}</version>
- <scope>test</scope>
- </dependency>
- <!-- 日志处理 -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>${slf4j.version}</version>
- </dependency>
- <!-- Mybatis -->
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>${mybatis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis-spring</artifactId>
- <version>${mybatis.spring.version}</version>
- </dependency>
- <!-- MySql -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>${mysql.version}</version>
- </dependency>
- <!-- 连接池 -->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid</artifactId>
- <version>${druid.version}</version>
- </dependency>
- <!-- Spring -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</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-webmvc</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-aspects</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <!-- JSP相关 -->
- <dependency>
- <groupId>jstl</groupId>
- <artifactId>jstl</artifactId>
- <version>${jstl.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>${servlet-api.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jsp-api</artifactId>
- <version>${jsp-api.version}</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <build>
- <finalName>${project.artifactId}</finalName>
- <plugins>
- <!-- 资源文件拷贝插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.7</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <!-- java编译插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.2</version>
- <configuration>
- <source>1.7</source>
- <target>1.7</target>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <!-- 配置Tomcat插件 -->
- <plugin>
- <groupId>org.apache.tomcat.maven</groupId>
- <artifactId>tomcat7-maven-plugin</artifactId>
- <version>2.2</version>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- <modules>
- <module>Angel-pojo</module>
- <module>Angel-mapper</module>
- <module>Angel-service</module>
- <module>Angel-web</module>
- </modules>
- </project></span>
2.2,pojo不依赖任何jar包,略过
2.3,mapper
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><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>
- <parent>
- <groupId>SSM-parent</groupId>
- <artifactId>Angel.SSM</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>Angel-mapper</artifactId>
- <!-- 依赖管理 -->
- <dependencies>
- <dependency>
- <groupId>SSM-parent</groupId>
- <artifactId>Angel-pojo</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency>
- <!-- Mybatis -->
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- </dependency>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis-spring</artifactId>
- </dependency>
- <!-- MySql -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- </dependency>
- <!-- 连接池 -->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid</artifactId>
- </dependency>
- </dependencies>
- <!-- 如果不添加此节点Mybatis的mapper.xml文件都会被漏掉 -->
- <build>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.properties</include>
- <include>**/*.xml</include>
- </includes>
- <filtering>false</filtering>
- </resource>
- </resources>
- </build>
- </project></span>
2.4,service
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><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>
- <parent>
- <groupId>SSM-parent</groupId>
- <artifactId>Angel.SSM</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>Angel-service</artifactId>
- <!-- 依赖管理 -->
- <dependencies>
- <dependency>
- <groupId>SSM-parent</groupId>
- <artifactId>Angel-mapper</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency>
- <!-- Spring -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webmvc</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aspects</artifactId>
- </dependency>
- </dependencies>
- </project></span>
2.5,Web
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><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>
- <parent>
- <groupId>SSM-parent</groupId>
- <artifactId>Angel.SSM</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>Angel-web</artifactId>
- <packaging>war</packaging>
- <!-- 依赖管理 -->
- <dependencies>
- <dependency>
- <groupId>SSM-parent</groupId>
- <artifactId>Angel-service</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency>
- <!-- JSP相关 -->
- <dependency>
- <groupId>jstl</groupId>
- <artifactId>jstl</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jsp-api</artifactId>
- <scope>provided</scope>
- </dependency>
- <!-- Jackson Json处理工具包 -->
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </dependency>
- </dependencies>
- </project></span>
2.5.2,spring整合配置文件
2.5.2.1,Mybatis
目前无,当使用到分页插件,或者额外的功能配置时,需要进行配置,下面以配置分页插件为例:
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE configuration
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis3 config.dtd">
- <configuration>
- <!-- 配置分页插件 -->
- <plugins>
- <plugin interceptor="com.github.pagehelper.PageHelper">
- <!-- 设置数据库类型Oracle,MySQL,MarinDBName,SQLite,PostareSQL六种数据库 -->
- <property name="dialect" value="mysql"/>
- </plugin>
- </plugins>
- </configuration></span>
jdbc.properties:数据库连接信息配置,主要包括jdbc.driver数据库驱动;jdbc.url数据库连接地址;jdbc.username连接用户名称;jdbc.password用户密码
2.5.2.2,spring配置
(为了分层解耦,为每一层,每一个用途的spring配置,都进行了单独配置)
1,首先:applicationContext-dao.xml,在这一层,主要配置数据库连接池(用到jdbc.properties数据库连接信息),Mybatis配置信息,加载Mybatis的mapper对象
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
- <!-- 数据库连接池 -->
- <!-- 加载配置文件 -->
- <context:property-placeholder location="classpath:resource/*.properties" />
- <!-- 数据库连接池 -->
- <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
- destroy-method="close">
- <property name="url" value="${jdbc.url}" />
- <property name="username" value="${jdbc.username}" />
- <property name="password" value="${jdbc.password}" />
- <property name="driverClassName" value="${jdbc.driver}" />
- <property name="maxActive" value="10" />
- <property name="minIdle" value="5" />
- </bean>
- <!-- 让spring管理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="Angel.mapper" />
- </bean>
- </beans></span>
2,applicationContext-service.xml,主要就是配置扫描包,一句话:
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- 扫描包,加载service实现类 -->
- <context:component-scan base-package="Angel.service"></context:component-scan>
- </span>
3,applicationContext-trans.xml事务传播配置,AOP切面配置
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
- <!-- 事务管理器 -->
- <bean id="transactionManager"
- class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
- <!-- 数据源 -->
- <property name="dataSource" ref="dataSource" />
- </bean>
- <!-- 通知 -->
- <tx:advice id="txAdvice" transaction-manager="transactionManager">
- <tx:attributes>
- <!-- 传播行为 -->
- <tx:method name="save*" propagation="REQUIRED" />
- <tx:method name="insert*" propagation="REQUIRED" />
- <tx:method name="add*" propagation="REQUIRED" />
- <tx:method name="create*" propagation="REQUIRED" />
- <tx:method name="delete*" propagation="REQUIRED" />
- <tx:method name="update*" propagation="REQUIRED" />
- <tx:method name="find*" propagation="SUPPORTS" read-only="true" />
- <tx:method name="select*" propagation="SUPPORTS" read-only="true" />
- <tx:method name="get*" propagation="SUPPORTS" read-only="true" />
- </tx:attributes>
- </tx:advice>
- <!-- 切面 -->
- <aop:config>
- <aop:advisor advice-ref="txAdvice"
- pointcut="execution(* Angel.service.*.*(..))" />
- </aop:config>
- </beans>
- </span>
2.5.2.3,springMVC配置
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><?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:p="http://www.springframework.org/schema/p"
- 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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
- <context:component-scan base-package="Angel.controller" />
- <mvc:annotation-driven />
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/jsp/"></property>
- <property name="suffix" value=".jsp" />
- </bean>
- <!-- 资源映射 -->
- <mvc:resources location="/WEB-INF/css/" mapping="/css/**" />
- <mvc:resources location="/WEB-INF/js/" mapping="/js/**" />
- <!-- 当有文件上传需要时,定义文件上传解析器,在同时,也需要在pom文件中添加上传jar的依赖 -->
- <!--<bean id="multipartResolver"
- class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- <!-- 设定默认编码 -->
- <property name="defaultEncoding" value="UTF-8"></property>
- <!-- 设定文件上传的最大值5MB,5*1024*1024 -->
- <property name="maxUploadSize" value="5242880"></property>
- </bean>-->
- </beans>
- </span>
2.5.2.4,web.xml配置
主要包括,SpringMVC前端控制器的启动,spring容器的启动配置,post乱码过滤
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <display-name>Angel-web</display-name>
- <welcome-file-list>
- <welcome-file>/WEB-INF/jsp/index.jsp</welcome-file>
- </welcome-file-list>
- <!-- 加载spring容器 -->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:spring/applicationContext-*.xml</param-value>
- </context-param>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <!-- 解决post乱码过滤器 -->
- <filter>
- <filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <!-- springmvc的前端控制器 -->
- <servlet>
- <servlet-name>Angel-web</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:spring/springmvc.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>Angel-web</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- </web-app></span>
三、具体实例
3.1,pojo实例类
TbUser.java(篇幅所限,set和get方法略去)
- <span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.pojo;
- import java.util.Date;
- public class TbUser {
- private Long id;
- private String username;
- private String password;
- private String phone;
- private String email;
- private Date created;
- private Date updated;</span>
3.2,mapper
3.2.1,mapper接口类TbUserMapper.java
- <span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.mapper;
- import Angel.pojo.TbUser;
- public interface TbUserMapper {
- TbUser selectByName(String Name);
- }</span>
3.2.2,sql实现文件TbUserMapper.xml
- <span style="font-family:KaiTi_GB2312;font-size:18px;"></pre><pre name="code" class="html"><?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="Angel.mapper.TbUserMapper" >
- <resultMap id="BaseResultMap" type="Angel.pojo.TbUser" >
- <id column="id" property="id" jdbcType="BIGINT" />
- <result column="username" property="username" jdbcType="VARCHAR" />
- <result column="password" property="password" jdbcType="VARCHAR" />
- <result column="phone" property="phone" jdbcType="VARCHAR" />
- <result column="email" property="email" jdbcType="VARCHAR" />
- <result column="created" property="created" jdbcType="TIMESTAMP" />
- <result column="updated" property="updated" jdbcType="TIMESTAMP" />
- </resultMap>
- <select id="selectByName" resultMap="BaseResultMap" parameterType="java.lang.String" >
- select
- id, username, password,phone, email, created, updated
- from tb_user
- where username = #{username,jdbcType=VARCHAR}
- </select>
- </mapper></span>
3.3,service
UserServiceImpl.java(接口省略)
- <span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.service.impl;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import Angel.mapper.TbUserMapper;
- import Angel.pojo.TbUser;
- import Angel.service.UserService;
- @Service(value="userService")
- public class UserServiceImpl implements UserService {
- @Autowired
- private TbUserMapper userMapper;
- @Override
- public TbUser selectByName(String Name) {
- return userMapper.selectByName(Name);
- }
- }
- </span>
3.4,web-UserController.java
- <span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.controller;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import Angel.pojo.TbUser;
- import Angel.service.UserService;
- import com.fasterxml.jackson.databind.ObjectMapper;
- @Controller
- public class UserController {
- @Autowired
- private UserService userService;
- @RequestMapping("/user/find/{name}")
- public void insertUser(@PathVariable("name") String name,HttpServletResponse response) throws IOException {
- TbUser user=userService.selectByName(name);
- ObjectMapper objectMapper=new ObjectMapper();
- response.setContentType("application/json;charset=UTF-8");
- String json="";
- PrintWriter out=response.getWriter();
- if(user!=null){
- json=objectMapper.writeValueAsString(user);
- out.write(json);
- }else{
- out.write("error");
- }
- }
- }</span>
3.5,JSP页面
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
- %>
- <!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>SSM-Angel</title>
- <link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.4.1/themes/default/easyui.css" />
- <link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.4.1/themes/icon.css" />
- </head>
- <body>
- <input type="text" id="username"/><br><br>
- <span id="detail"></span><br><br>
- <input type="button" id="" value="查询" onclick="findUser()"/>
- <script type="text/javascript" src="js/jquery-easyui-1.4.1/jquery.min.js"></script>
- <script type="text/javascript" src="js/jquery-easyui-1.4.1/jquery.easyui.min.js"></script>
- <script type="text/javascript" src="js/jquery-easyui-1.4.1/locale/easyui-lang-zh_CN.js"></script>
- <script type="text/javascript">
- function findUser(){
- var username=$("#username").val();
- $.post('<%=basePath%>user/find/'+username,function(data){
- //测试框架效果,输入的用户,在数据库中存在相应数据,因此未做判空处理
- if(data!="error"){
- var detailInfo="username:"+data.username+" phone:"+data.phone+" ...";
- $("#detail").text(detailInfo);
- }else{
- $.messager.alert("info","查询用户出错!")
- }
- });
- }
- </script>
- </body>
- </html>
- </span>
3.6,运行结果截图
四、总结
虽然用maven减少了jar下载引用的负担,但是,从SSM框架的搭建可以看出,引入了特别多的依赖,而且,当我在父工程进行引用后,在各个子模块需要用到的时候,还需要再次依赖引用,有什么方法可以解决这种依赖引用呢,接下来介绍spring boot
【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤的更多相关文章
- SSM(Spring +SpringMVC + Mybatis)框架搭建
SSM(Spring +SpringMVC + Mybatis)框架的搭建 最近通过学习别人博客发表的SSM搭建Demo,尝试去搭建一个简单的SSMDemo---实现的功能是对用户增删改查的操作 参考 ...
- 基于Maven的ssm(spring+springMvc+Mybatis)框架搭建
前言 本demo是在idea下搭建的maven项目,数据库使用Mysql,jdk版本是1.8.0_171,ideal:2017.3.5 一.新建项目 1.file->new->porjec ...
- spring+springmvc+mybatis框架搭建
一.开发前准备 1)ecplise4.11.0 百度网盘:https://pan.baidu.com/s/1wO9_I52lp0mYNeNTdnj80w 提取码:booa 2)jdk1.6.0_45 ...
- 【SSM】---Spring+SpringMVC+Mybatis框架整合
参考 百度经验 https://jingyan.baidu.com/article/2a1383288a85a9074a134f1b.html CSDN http://blog.csdn.net/ge ...
- SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)
1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...
- Spring+SpringMvc+Mybatis框架集成搭建教程
一.背景 最近有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以在自己搭建SSM框架集成的时候,出现了这样或者那样的问题,很是苦恼 ...
- SSM(Spring + Springmvc + Mybatis)框架面试题
JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...
- 【Spring】Spring+SpringMVC+MyBatis框架的搭建
1,SSM的简介 SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架. 其中s ...
- SSM(Spring,SpringMVC,Mybatis)框架整合项目
快速上手SSM(Spring,SpringMVC,Mybatis)框架整合项目 环境要求: IDEA MySQL 8.0.25 Tomcat 9 Maven 3.6 数据库环境: 创建一个存放书籍数据 ...
随机推荐
- C#生成随机字符串(数字,字母,特殊符号)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 简谈ashx
是一般处理程序, 是asp.net web 组件的一种,ashx是其扩展名. 实现IHttpHandler接口,接收并处理http请求.这个接口有一个IsReusable成员,一个待实现的方法Proc ...
- js中substr,substring,indexOf,lastIndexOf,split 的用法
1.substr substr(start,length)表示从start位置开始,截取length长度的字符串. var src="images/off_1.png";alert ...
- Android ui 测试课堂笔记
开始接触Android ui测试了,笔记如下 模拟器 Genemotion , the fastest android simulator in the world Android ui 测试工具 S ...
- IOS上解决内存越界访问问题
IOS经常会混合使用C代码,而在C中,对内存的读写是很频繁的操作. 其中,内存越界读写 unsigned char* p =(unsigned char*)malloc(10); unsigned c ...
- js中event.target
event.srcElement从字面上可以看出来有以下关键字:事件,源 他的意思就是:当前事件的源, 我们可以调用他的各种属性 就像:document.getElementById(&quo ...
- VIM编辑新文件自动添加头文件信息
把如下文件直接贴到root目录下,在编辑新文件的时候显示自定义信息. root@shenlan-qianlan:/home/python/day1# vim shenlanqianlan.sh #!/ ...
- [Linux] - CentOS中文乱码解决办法
CentOS 7 终端中文乱码解决办法: 1.使用vim编辑locale.config文件: vim /etc/locale.conf 2.将LANG="en_US.UTF-8"修 ...
- JS跨域解决iframe高度自适应(IE8/Firefox/Chrome适用)
参考园友的js跨越实现,有提到三种方式: 1. 中间页代理方式,利用iframe的location.hash 参见:http://www.5icool.org/a/201203/a1129.html ...
- VR外包团队:VR和AR技术已经红得发紫
近6个月以来,VR和AR技术已经红得发紫. 不管是创业公司还是互联网巨头,如果不在VR领域有所涉猎,都不好意思跟外界打招呼.最近,阿里巴巴公布VR战略并推出了一条VR购物的视频,更是给业界打了满满一碗 ...