1. 程式人生 > >IDEA從0搭建SSM專案【圖文】(一)——本地執行Hello World

IDEA從0搭建SSM專案【圖文】(一)——本地執行Hello World

記得初學SSM時,跟著網上的教程走,一步一坑,為了讓更多的初學者體驗一次搭建好SSM的快感,本人利用工作之餘撰寫此篇教程。

一,環境準備

1.IDEA工具
在這裡插入圖片描述
2.maven
在這裡插入圖片描述
① 配置到環境變數
在這裡插入圖片描述
② 將maven新增到IDEA
在這裡插入圖片描述
圖中Local repository本地倉庫使用預設m2就好【我這裡是在配置檔案裡修改過了】
3.tomcat
這個應該都會,配置到IDEA
在這裡插入圖片描述

4.mysql
記得登入名和密碼即可,將寫入專案配置檔案db.properties
本文用的5.7(注意5.7以後的mysql驅動不一樣,是com.mysql.cj.jdbc.Driver)

5.jdk
本文用的1.8

二,搭建空專案

1.新建空專案
在這裡插入圖片描述
2.選擇maven,點選next
在這裡插入圖片描述
3.隨便填寫GroupId和ArtifactId,點選next
在這裡插入圖片描述
4.填寫專案名稱,擊next
在這裡插入圖片描述
5.finish,專案結構如圖
在這裡插入圖片描述
6.新增webapp資料夾【因為是J2EE專案】
① 點選project structure
在這裡插入圖片描述
② 新增web模組
在這裡插入圖片描述
③ 如圖,點選鉛筆,替換路徑【上面,下面都替換】中的\web為\src\main\webapp
在這裡插入圖片描述
④ 修改完如圖
在這裡插入圖片描述
⑤ 點選ok,即自動生成如下目錄
在這裡插入圖片描述

三,配置pom.xml,web.xml,新建spring mvc配置檔案

1. pom.xml新增spring相關依賴
貼上即可,有註釋
<dependencies>主要就是spring相關包,servlet包,mysql連線包
<build>本地執行暫時用不著

<?xml version="1.0" encoding="UTF-8"?>
<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>Test</groupId>
    <artifactId>Test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <spring.version>4.3.18.RELEASE</spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!--servlet&jsp-->
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.2.1</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api -->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>8.5.33</version>
        </dependency>

        <!--Spring與Mybatis整合-->
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.2</version>
        </dependency>


        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.43</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!--dataSource連線池-->
        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-dbcp2</artifactId>
            <version>2.5.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <!-- maven compiler plugin版本必須正確否則下面設定的JDK版本不起作用 -->
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <webXml>src\main\webapp\WEB-INF\web.xml</webXml>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

2.web.xml配置spring mvc

<?xml version="1.0" encoding="UTF-8"?>
<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_4_0.xsd"
         version="4.0">

    <!--字元編碼過濾器-->
    <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>
        <init-param>
            <param-name>forceRequestEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>forceResponseEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!--啟動Spring容器-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!--啟動SpringMVC容器-->
    <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.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

3.spring mvc配置檔案

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

    <!--掃描controller-->
    <context:component-scan base-package="com.hand.controller"/>

    <!--配置檢視解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".html"/>
    </bean>

    <!--靜態資源交給default-servlet處理-->
    <mvc:default-servlet-handler/>
    <mvc:annotation-driven/>
    
</beans>

4.新建controller和WEB-INF/views/hello.html【要在WEB-INF/views下,因為前面mvc配置檔案裡配的該路徑,你也可以修改】
在這裡插入圖片描述
5.poject structure新建web應用,並新增到tomcat
在這裡插入圖片描述
點OK
在這裡插入圖片描述
部署到本地tomcat伺服器
在這裡插入圖片描述

OK,執行,訪問瀏覽器
在這裡插入圖片描述
這篇其實只是準備工作,主要是搭建+spring+spring mvc,下一篇在此基礎上完善,進行真正的SSM增刪改查~