Intellij-IDEA搭建SrpingMVC+Spring+Mybatis+Bootstrap+分页(一)

1.环境介绍


  • Intellij-IDEA:2017.3.2
  • JDK:1.8.0_77
  • Maven:3.5.0
  • Tomcat:8.5.20
  • mysql:5.7.19

Intellij-IDEA安装配置相关链接

Intellij IDEA安装与破解
Intellij IDEA配置Maven
Intellij IDEA配置JDK

2.创建一个maven项目

一步一步往下走就行
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

看到import change 记得点一下
这里写图片描述
到这里整个maven工程就创建完了,下面是整个maven工程的目录
这里写图片描述
似乎好像少了个java文件夹,那我们就自己建一个
这里写图片描述
假如这时候我们想在java文件夹中建一个类,会发现找不到创建class这个选项
这里写图片描述
这时候我们需要将java文件夹设置为sources
这里写图片描述
这里写图片描述
这时候发现有了class选项,还多了很多其他的可选操作
这里写图片描述

2.搭建目录结构

这里写图片描述

3.设置配置文件

先配置pom,xlm,引入相关jar

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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.xujd</groupId>
  <artifactId>xujd-ssm</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>xujd-ssm Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <!-- 设置项目编码 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <!-- spring版本号 -->
    <spring.version>4.3.5.RELEASE</spring.version>
    <!-- mybatis版本号 -->
    <mybatis.version>3.4.1</mybatis.version>
    <!-- log4j日志文件管理包版本 -->
    <slf4j.version>1.7.7</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
    <!-- jackson包版本 -->
    <jackson.version>2.5.0</jackson.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

    <!--添加java ee依赖-->
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
    </dependency>

    <!-- 实现slf4j接口并整合 -->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.2</version>
    </dependency>

    <!-- 添加JSON依赖 -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.7</version>
    </dependency>

    <!-- 添加mysql驱动依赖 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.41</version>
      <scope>runtime</scope>
    </dependency>

    <!-- 添加数据库连接池 -->
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.2</version>
    </dependency>

    <!-- 添加MyBatis依赖 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>

    <!-- 添加mybatis/spring整合包依赖 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.1</version>
    </dependency>

    <!-- 添加Spring核心依赖 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</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-context-support</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>
    <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>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!--添加servlet依赖-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
      <scope>provided</scope>
    </dependency>

    <!-- 添加JSTL标签类依赖 -->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
      
    </dependency>

    <!-- 添加日志相关jar包 -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>xujd-ssm</finalName>
  </build>
</project>

web.xml配置:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

  <!-- 编码过滤器 -->
  <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>

  <!-- 配置DispatcherServlet -->
  <servlet>
    <servlet-name>SpringMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置springMVC需要加载的配置文件-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-*.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
  </servlet>

  <servlet-mapping>
    <servlet-name>SpringMVC</servlet-name>
    <!-- 匹配所有请求,此处也可以配置成 *.do 形式 -->
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!--访问项目名 默认打开页面-->
  <welcome-file-list>
    <welcome-file>/WEB-INF/views/login.jsp</welcome-file>
  </welcome-file-list>

</web-app>

jdbc.properties配置:

#mysql驱动
jdbc.driver=com.mysql.jdbc.Driver
#mysql地址
jdbc.url=jdbc:mysql://localhost:3306/idea-ssm?useUnicode=true&characterEncoding=utf8
#账号
jdbc.username=root
#密码
jdbc.password=123456
#最大连接数
c3p0.maxPoolSize=30
#最小连接数
c3p0.minPoolSize=10
#关闭连接后不自动commit
c3p0.autoCommitOnClose=false
#获取连接超时时间
c3p0.checkoutTimeout=10000
#当获取连接失败重试次数
c3p0.acquireRetryAttempts=2

logback.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <!--控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>xujd--%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- root将级别为“DEBUG”及大于“DEBUG”的日志信息交给已经配置好的名为“Console”的appender处理,“Console”appender将信息打印到Console -->
    <root level="debug">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

spring-mvc.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"
       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/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <!-- 扫描web相关的bean -->
    <context:component-scan base-package="com.xujd.controller"/>

    <!-- 开启SpringMVC注解模式 -->
    <mvc:annotation-driven/>

    <!-- 静态资源默认servlet配置 -->
    <mvc:default-servlet-handler/>
    <!-- 静态资源映射 -->
    <mvc:resources mapping="/img/**" location="/img/" />
    <mvc:resources mapping="/js/**" location="/js/" />

    <!-- REST中根据URL后缀自动判定Content-Type及相应的View -->
    <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
        <property name="mediaTypes">
            <map>
                <entry key="xml" value="application/xml"/>
                <entry key="json" value="application/json"/>
            </map>
        </property>
        <property name="ignoreAcceptHeader" value="true"/>
        <property name="favorPathExtension" value="true"/>
    </bean>

    <!-- 配置视图解析器 显示ViewResolver -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

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

    <!-- 扫描service包下所有使用注解的类型 -->
    <context:component-scan base-package="com.xujd.service"/>

    <!-- 配置数据库相关参数properties的属性:${url} -->
    <context:property-placeholder location="classpath:jdbc.properties"/>

    <!-- 数据库连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="maxPoolSize" value="${c3p0.maxPoolSize}"/>
        <property name="minPoolSize" value="${c3p0.minPoolSize}"/>
        <property name="autoCommitOnClose" value="${c3p0.autoCommitOnClose}"/>
        <property name="checkoutTimeout" value="${c3p0.checkoutTimeout}"/>
        <property name="acquireRetryAttempts" value="${c3p0.acquireRetryAttempts}"/>
    </bean>

    <!-- 配置SqlSessionFactory对象 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 扫描model包 使用别名 -->
        <property name="typeAliasesPackage" value="com.xujd.model"/>
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>

    <!-- 配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 注入sqlSessionFactory -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!-- 给出需要扫描Dao接口包 -->
        <property name="basePackage" value="com.xujd.dao"/>
    </bean>

    <!-- 配置事务管理器 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!-- 配置基于注解的声明式事务 -->
    <tx:annotation-driven transaction-manager="transactionManager"/>

</beans>

4.建表和完善代码

建表语句

CREATE TABLE `userinfo` (
  `ID` int(128) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT '姓名',
  `AGE` int(8) DEFAULT NULL COMMENT '年龄',
  `LOGINNAME` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT '登入账号',
  `PASSWORD` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT '密码',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

这是我的测试数据,不想自己加数据可以直接用我的

INSERT INTO `userinfo` VALUES ('1', '张三', '24', 'admin', '123');
INSERT INTO `userinfo` VALUES ('3', '李四', '22', '123', '123');
INSERT INTO `userinfo` VALUES ('4', '王二', '21', 'wanger', '123');
INSERT INTO `userinfo` VALUES ('5', '丐帮', '25', 'gaibang', '123');
INSERT INTO `userinfo` VALUES ('6', '明教', '27', 'mingjiao', '123');
INSERT INTO `userinfo` VALUES ('7', '武当', '28', 'wudang', '123');
INSERT INTO `userinfo` VALUES ('8', '少林', '29', 'shaolin', '123');
INSERT INTO `userinfo` VALUES ('9', '峨眉', '24', 'emei', '123');
INSERT INTO `userinfo` VALUES ('10', '天山', '25', 'tianshan', '123');
INSERT INTO `userinfo` VALUES ('11', '逍遥', '25', 'xiaoyao', '123');
INSERT INTO `userinfo` VALUES ('12', '唐门', '26', 'tangmen', '123');
INSERT INTO `userinfo` VALUES ('13', '慕容', '23', 'murong', '123');
INSERT INTO `userinfo` VALUES ('14', '马云', '56', 'mayun', '123');
INSERT INTO `userinfo` VALUES ('15', '百度', '12', 'baidu', '123');
INSERT INTO `userinfo` VALUES ('16', '华为', '23', 'huawei', '123');
INSERT INTO `userinfo` VALUES ('17', '腾讯', '16', 'tengxun', '123');
INSERT INTO `userinfo` VALUES ('18', '微软', '12', 'weiruan', '123');
INSERT INTO `userinfo` VALUES ('19', '网易', '18', 'wangyi', '123');
INSERT INTO `userinfo` VALUES ('20', '阿里巴巴', '19', 'alibaba', '123');

UserInfo

package com.xujd.model;

public class UserInfo {
    private int id;
    private String name;
    private int age;
    private String loginName;
    private String password;
    private int startRow;
    private int endRow;
    
    getter、setter省略。。。
    IDEA中快速构建get和set:Alt+insert  
}

UserInfoDao
接口先写好,里面这些函数到时候会用上的
IDEA 快速导包:Alt+enter

package com.xujd.dao;

import com.xujd.model.UserInfo;

import java.util.List;

public interface UserInfoDao {
    /**
     *添加用户信息
     * @param userInfo
     */
    void insertUser(UserInfo userInfo);

    /**
     * 删除用户
     * @param id
     */
    void deleteUser(int id);

    /**
     * 修改用户信息
     * @param userInfo
     */
    void updateUser(UserInfo userInfo);
    /**
     * 根据ID获取用户信息
     * @param id
     * @return
     */
    UserInfo selectUserById(int id);
    /**
     * 获取所有用户信息
     * @return
     */
    List<UserInfo> selectAll();

    /**
     * 根据登入名获取用户
     * @param
     * @return
     */
    UserInfo selectUserByLoginName(String loginName);

    /**
     * 根据查询条件获取用户
     * @param userInfo
     * @return
     */
    List<UserInfo> selectUserByParams(UserInfo userInfo);

    /**
     * 获取所有用户数量
     * @return
     */
    int selectUserCount();
}

UserInfoService

package com.xujd.service;

import com.xujd.model.UserInfo;

import java.util.List;

public interface UserInfoService {
    /**
     *添加用户信息
     * @param user
     */
    void insertUser(UserInfo user);

    /**
     * 删除用户
     * @param id
     */
    void deleteUser(int id);

    /**
     * 修改用户信息
     * @param user
     */
    void updateUser(UserInfo user);
    /**
     * 根据ID获取用户信息
     * @param id
     * @return
     */
    UserInfo selectUserById(int id);
    /**
     * 获取所有用户信息
     * @return
     */
    List<UserInfo> selectAll();
    /**
     * 根据登入名获取用户
     * @param 
     * @return
     */
    UserInfo selectUserByLoginName(String loginName);

    /**
     * 根据查询条件获取用户
     * @param userInfo
     * @return
     */
    List<UserInfo> selectUserByParams(UserInfo userInfo);

    /**
     * 获取所有用户数量
     * @return
     */
    int selectUserCount();
}

UserInfoServiceImpl

package com.xujd.service.Impl;

import com.xujd.dao.UserInfoDao;
import com.xujd.model.UserInfo;
import com.xujd.service.UserInfoService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
@Service("userInfoService")
public class UserInfoServiceImpl implements UserInfoService {
    @Resource
    private UserInfoDao userInfoDao;

    public void insertUser(UserInfo user) {
        userInfoDao.insertUser(user);
    }

    public void deleteUser(int id) {
        userInfoDao.deleteUser(id);
    }

    public void updateUser(UserInfo user) {
        userInfoDao.updateUser(user);
    }

    public UserInfo selectUserById(int id) {
        return userInfoDao.selectUserById(id);
    }

    public List<UserInfo> selectAll() {
        return userInfoDao.selectAll();
    }

    public UserInfo selectUserByLoginName(String loginName) {
        return userInfoDao.selectUserByLoginName(loginName);
    }

    public List<UserInfo> selectUserByParams(UserInfo userInfo) {
        return userInfoDao.selectUserByParams(userInfo);
    }
    public int selectUserCount() {
        return userInfoDao.selectUserCount();
    }
}

UserInfoController
这里用到了一个登入页面和一个主页面。

package com.xujd.controller;

import com.xujd.model.UserInfo;
import com.xujd.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
@RequestMapping("/user")
public class UserInfoController {
    @Autowired
    private UserInfoService userInfoService;

    /**
     * 用户登入
     * @param userInfo
     * @return
     */
    @RequestMapping("/login")
    public String login(UserInfo userInfo, Model model){
        String msg="";
        //根据登入账号判断该用户是否存在
        UserInfo user = userInfoService.selectUserByLoginName(userInfo.getLoginName());
        if(user==null){
            msg="该用户不存在!";
        }else{
            if(user.getPassword().equals(userInfo.getPassword())){
                //验证成功进入主界面
                model.addAttribute("userInfo",user);
                return "/main";
            }else{
                msg="密码错误!";
            }
        }
        model.addAttribute("msg",msg);
        return "/login";
    }

}

UserInfo_sql

<?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">

<!-- 设置为UserDao接口方法提供sql语句配置 -->
<mapper namespace="com.xujd.dao.UserInfoDao">
    <insert id="insertUser" parameterType="UserInfo">
        INSERT INTO USERINFO(NAME,AGE,LOGINNAME,PASSWORD)VALUES(#{name},#{age},#{loginName},#{password})
    </insert>

    <delete id="deleteUser" parameterType="int">
        DELETE FROM USERINFO WHERE ID=#{id}
    </delete>
    <update id="updateUser" parameterType="UserInfo">
        UPDATE USERINFO
        <set>
            <if test="name!=null and name!=''">NAME =#{name},</if>
            <if test="age!=null and age!=''">AGE =#{age},</if>
            <if test="loginName!=null and loginName!=''">LOGINNAME =#{loginName},</if>
            <if test="password!=null and password!=''">PASSWORD =#{password}</if>
        </set>
        where ID=#{id}
    </update>

    <select id="selectUserById" resultType="UserInfo" parameterType="int">
        SELECT * FROM USERINFO WHERE id = #{id}
    </select>

    <select id="selectAll" resultType="UserInfo">
        SELECT * FROM USERINFO order by id desc
    </select>

    <select id="selectUserByLoginName" parameterType="java.lang.String" resultType="UserInfo">
        SELECT * FROM USERINFO WHERE LOGINNAME=#{loginName}
    </select>

    <select id="selectUserByParams" resultType="UserInfo" parameterType="UserInfo">
        SELECT * FROM USERINFO
        <where>
            <if test="name!=null and name!=''">and NAME=#{name}</if>
            <if test="loginName!=null and loginName!=''">and LOGINNAME=#{loginName}</if>
        </where>
        order by id desc
    </select>

    <select id="selectUserCount" resultType="int">
        select count(*) from USERINFO
    </select>
</mapper>

5.登入页面和主页面

在views目录下新建两个页面login.jsp和main.jsp

login.jsp

<%@ page contentType="text/html;charset=UTF-8"%>
<%
    /*获取工程路径*/
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
    <title>登入页面</title>
</head>
<body>
    <div>
        <form action="<%=basePath%>user/login" method="post">
            <div style="text-align: center;margin-top: 100px;">
                <h3>${msg}</h3>
                <input type="text" name="loginName" placeholder="LoginName">
                <input type="password" name="password" placeholder="password">
                <input type="submit" value="登入">
            </div>
        </form>
    </div>
</body>
</html>



main.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<div style="text-align: center;margin-top: 100px;">
<h1>登入成功!</h1>
</div>
</body>
</html>


6.配置tomcat,启动应用测试

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
配置好了启动应用
这里写图片描述
启动成功
这里写图片描述
访问localhost:8080
这里写图片描述
输入admin 123 登入
这里写图片描述

到这里Intellij IDEA搭建SSM完成了,页面有些敷衍,望海涵!!
本文源码下载地址:Intellij IDEA搭建SSM框架
GitHub下载地址:Intellij IDEA搭建SSM框架小伙伴们记得点个star哟,非常感谢!!

下一遍文章将在此篇文章的基础上做完善,包括页面上的一些设计,分页,集成Bootstrap等,敬请期待!!

  • 9
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值