1. 程式人生 > >搭建SSM開發環境

搭建SSM開發環境

  • 匯入jar包

    • 利用maven進行包管理,不用手動一個個新增需要的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.enpong</groupId>
      	<artifactId>ssm</artifactId>
      	<packaging>war</packaging>
      	<version>0.0.1-SNAPSHOT</version>
      	<name>ssm Maven Webapp</name>
      	<url>http://maven.apache.org</url>
      	<properties>
      		<spring.version>5.1.1.RELEASE</spring.version>
      	</properties>
      	<dependencies>
      		<dependency>
      			<groupId>junit</groupId>
      			<artifactId>junit</artifactId>
      			<version>3.8.1</version>
      			<scope>test</scope>
      		</dependency>
      		<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
      		<dependency>
      			<groupId>ch.qos.logback</groupId>
      			<artifactId>logback-classic</artifactId>
      			<version>1.2.3</version>
      		</dependency>
      		<!-- Spring -->
      		<!-- 1)包含Spring 框架基本的核心工具類。Spring 其它元件要都要使用到這個包裡的類,是其它元件的基本核心 -->
      		<dependency>
      			<groupId>org.springframework</groupId>
      			<artifactId>spring-core</artifactId>
      			<version>${spring.version}</version>
      		</dependency>
      		<!-- 2)這個jar 檔案是所有應用都要用到的,它包含訪問配置檔案、建立和管理bean 以及進行Inversion of Control 
      			/ Dependency Injection(IoC/DI)操作相關的所有類。如果應用只需基本的IoC/DI 支援,引入spring-core.jar 
      			及spring-beans.jar 檔案就可以了。 -->
      		<dependency>
      			<groupId>org.springframework</groupId>
      			<artifactId>spring-beans</artifactId>
      			<version>${spring.version}</version>
      		</dependency>
      		<!-- 3)這個jar 檔案為Spring 核心提供了大量擴充套件。可以找到使用Spring ApplicationContext特性時所需的全部類,JDNI 
      			所需的全部類,instrumentation元件以及校驗Validation 方面的相關類。 -->
      		<dependency>
      			<groupId>org.springframework</groupId>
      			<artifactId>spring-context</artifactId>
      			<version>${spring.version}</version>
      		</dependency>
      		<!-- 4) 這個jar 檔案包含對Spring 對JDBC 資料訪問進行封裝的所有類。 -->
      		<dependency>
      			<groupId>org.springframework</groupId>
      			<artifactId>spring-jdbc</artifactId>
      			<version>${spring.version}</version>
      		</dependency>
      		<!-- 5) 為JDBC、Hibernate、JDO、JPA等提供的一致的宣告式和程式設計式事務管理。 -->
      		<dependency>
      			<groupId>org.springframework</groupId>
      			<artifactId>spring-tx</artifactId>
      			<version>${spring.version}</version>
      		</dependency>
      		<!-- 6)Spring web 包含Web應用開發時,用到Spring框架時所需的核心類,包括自動載入WebApplicationContext特性的類、Struts與JSF整合類、檔案上傳的支援類、Filter類和大量工具輔助類。 -->
      		<dependency>
      			<groupId>org.springframework</groupId>
      			<artifactId>spring-web</artifactId>
      			<version>${spring.version}</version>
      		</dependency>
      		<!-- 7)包含SpringMVC框架相關的所有類。 -->
      		<dependency>
      			<groupId>org.springframework</groupId>
      			<artifactId>spring-webmvc</artifactId>
      			<version>${spring.version}</version>
      		</dependency>
      		<!-- 8)Spring test 對JUNIT等測試框架的簡單封裝 -->
      		<dependency>
      			<groupId>org.springframework</groupId>
      			<artifactId>spring-test</artifactId>
      			<version>${spring.version}</version>
      			<scope>test</scope>
      		</dependency>
      		<!-- spring依賴的其他配置 -->
      		<!-- Servlet web -->
      		<dependency>
      			<groupId>javax.servlet</groupId>
      			<artifactId>javax.servlet-api</artifactId>
      			<version>4.0.1</version>
      		</dependency>
      		<!-- json解析 -->
      		<dependency>
      			<groupId>com.fasterxml.jackson.core</groupId>
      			<artifactId>jackson-databind</artifactId>
      			<version>2.9.7</version>
      		</dependency>
      		<!-- Map工具類 對標準java Collection的擴充套件 spring-core.jar需commons-collections.jar -->
      		<dependency>
      			<groupId>commons-collections</groupId>
      			<artifactId>commons-collections</artifactId>
      			<version>3.2.2</version>
      		</dependency>
      		<!-- Dao Mybatis -->
      		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
      		<dependency>
      			<groupId>org.mybatis</groupId>
      			<artifactId>mybatis</artifactId>
      			<version>3.4.6</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>8.0.12</version>
      		</dependency>
      		<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
      		<dependency>
      			<groupId>com.mchange</groupId>
      			<artifactId>c3p0</artifactId>
      			<version>0.9.5.2</version>
      		</dependency>
      
      
      	</dependencies>
      	<build>
      		<finalName>ssm</finalName>
      		<plugins>
      			<plugin>
      				<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
      				<groupId>org.apache.maven.plugins</groupId>
      				<artifactId>maven-compiler-plugin</artifactId>
      				<version>3.8.0</version>
      				<configuration>
      					<source>1.8</source>
      					<target>1.8</target>
      					<encoding>UTF8</encoding>
      				</configuration>
      			</plugin>
      		</plugins>
      	</build>
      </project>
      
  • 配置Web.xml

    • 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>
      
      	<!-- 指定spring配置檔案位置  -->
      	<context-param>
      		<param-name>contextConfigLocation</param-name>
      		<param-value>classpath:spring-*.xml</param-value>
      	</context-param>
      	
      	<!-- 註冊字符集過濾器 -->
      	<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>forceEncoding</param-name>
      			<param-value>true</param-value>
      		</init-param>
      	</filter>
      	<filter-mapping>
      		<filter-name>CharacterEncodingFilter</filter-name>
      		<url-pattern>/*</url-pattern>
      	</filter-mapping>
      	
      	<!-- 註冊ServletContext 監聽器  -->
      	<listener>
      		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      	</listener>
      	
      	
      	<!-- 註冊中央排程器 -->
      	<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:spring-mvc.xml</param-value>
      		</init-param>
      		<load-on-startup>1</load-on-startup>
      	</servlet>
      	<servlet-mapping>
      		<servlet-name>springmvc</servlet-name>
      		<url-pattern>*.do</url-pattern>
      	</servlet-mapping>
      	
      </web-app>
      
    • 指定spring配置檔案位置
      • 這裡指定的配置檔案,讓tomcat在啟動時根據spring配置檔案建立spring容器;
      • 由於spring配置檔案根據功能模組劃分,拆分為多個配置檔案(spring-*.xml)
    • 註冊ServletContext監聽器
      • 註冊ServletContext監聽器的實現類ContextLoaderListener;用於建立spring容器以及將建立好的spring容器物件放入到ServletContext的域屬性空間,保證spring容器的唯一性。
    • 註冊字符集過濾器
      • 用於解決請求引數中攜帶的中文亂碼問題
    • 註冊中央排程器(Dispatcher)