搭建Maven、SSM框架詳細步驟

一、新建一個Maven的Web空項目

使用工具:

sts 或 eclipse 集成開發環境
一臺電腦
windows 10

之前博客:新建一個Maven的Web項目詳細步驟及Maven中的問題和bug全解

二、先創建各種常用包,如圖所示,之後用什麼再添加

在這裏插入圖片描述

三、配置 pom.xml 文件(需要引入jar包依賴和配置tomcat服務器)

<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">
<!-- 項目GAV座標,文件自帶的 -->
  <modelVersion>4.0.0</modelVersion>
  <groupId>包名G</groupId>
  <artifactId>項目名A</artifactId>
  <!-- 打包方式爲war,一般是web項目-->
  <packaging>war</packaging>
  <version>1.0版本號V</version>
  <name>97_shiro_ssm Maven Webapp</name>
  <url>http://maven.apache.org</url>
  
  
<!-- jar包版本聲明,更改版本只需改一下版本號即可 -->
	<properties>
		<servlet.version>3.1.0</servlet.version>
		<jsp.version>2.3.1</jsp.version>
		<jstl.version>1.1.2</jstl.version>
		<mybatis.version>3.5.2</mybatis.version>
		<mybatis-spring.version>1.3.3</mybatis-spring.version>
		<spring.version>4.3.24.RELEASE</spring.version>
		<druid.version>1.1.20</druid.version>
		<mysql.version>8.0.15</mysql.version>
		<jackson.version>2.9.9</jackson.version>
		<pagehelper.version>5.1.8</pagehelper.version>
		<!-- 注意只能使用2.0以下的版本 -->
		<log4j.version>1.2.17</log4j.version>
		<collection4.version>4.3</collection4.version>
		<shiro.version>1.4.1</shiro.version>
	</properties>
	
<!-- jar包依賴 -->
	<dependencies>
	
		<!-- 導入jsp -->
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>javax.servlet.jsp-api</artifactId>
			<version>${jsp.version}</version>
			<scope>provided</scope>
		</dependency>
		
		<!-- 導入servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>${servlet.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- 添加jstl的依賴 -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>${jstl.version}</version>
		</dependency>
		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>${jstl.version}</version>
		</dependency>

		<!-- pagepelper -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>${pagehelper.version}</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>${mybatis-spring.version}</version>
		</dependency>
		
		<!-- 導入spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<!-- springmvc -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<!-- mysql數據庫驅動 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysql.version}</version>
		</dependency>
		
		<!-- druid -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>${druid.version}</version>
		</dependency>

		<!-- jackson -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>${jackson.version}</version>
		</dependency>
		
		<!-- log4j -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>

		<!-- commons-collections4 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-collections4</artifactId>
			<version>${collection4.version}</version>
		</dependency>
		
		<!-- 依賴shiro -->
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-spring</artifactId>
			<version>${shiro.version}</version>
		</dependency>
	</dependencies>
	
	<build>
		<finalName>06_shiro_ssm</finalName>
		<!-- 配置插件 -->
		<plugins>
			<plugin>
				<!--maven的tomcat7插件,maven目前只支持到 7 -->
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<uriEncoding>UTF-8</uriEncoding> <!--解決頁面提交數據亂碼問題 -->
					<port>8080</port><!-- tomcat插件的請求端口 -->
					<path>/名稱</path><!-- 項目的請求路徑,相當於項目名的別名 -->
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

四、配置mysql 8.0.15、druid數據庫 db.properties 配置文件

# 
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/數據庫名?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
username=root
password=123456


#
initialSize=5
maxActive=20
minIdle=5
maxIdle=10
filters=stat,wall,log4j
druid 配置參數 缺省值 說明
initialSize 0 初始化時建立物理連接的個數。初始化發生在顯示調用init方法,
或者第一次getConnection時
maxActive 8 最大連接池數量
maxIdle 8 已經不再使用,配置了也沒效果
minIdle 最小連接池數量
filters 屬性類型是字符串,通過別名的方式配置擴展插件,
常用的插件有:
監控統計用的filter:stat
日誌用的filter:log4j
防禦sql注入的filter:wall

五、配置 log4j.properties 日誌文件

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

六、配置 springmvc.xml (xml文件都建下圖的file類型)

在這裏插入圖片描述

<?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:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
		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-4.3.xsd">

	<!-- 掃描controller  的路徑 -->
	<context:component-scan base-package="包.controller"></context:component-scan>
	
	<!-- 配置適配器和映射器 -->
	<mvc:annotation-driven></mvc:annotation-driven>
	
	<!-- 配置視圖解析器 -->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- 配置前綴 -->
		<property name="prefix" value="/WEB-INF/view/"></property>
		<!-- 配置後綴 -->
		<property name="suffix" value=".jsp"></property>
	</bean>
	
	<!-- 配置文件上傳的類 -->
	
	<!-- 配置攔截器 -->
	
	<!-- 配置靜態資源放行 -->
	<mvc:default-servlet-handler/>	
</beans>

七、配置 application-dao.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"
	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-4.3.xsd">


	<!-- 配置文件 -->
	<context:property-placeholder
		location="classpath:db.properties" system-properties-mode="FALLBACK" />

	<!-- 聲明數據源 -->
	<bean id="dataSource"
		class="com.alibaba.druid.pool.DruidDataSource">
		<!-- 注入相關屬性 -->
		<property name="driverClassName" value="${driverClassName}"></property>
		<property name="url" value="${url}"></property>
		<property name="username" value="${username}"></property>
		<property name="password" value="${password}"></property>


		<property name="initialSize" value="${initialSize}"></property>
		<property name="maxActive" value="${maxActive}"></property>
		<property name="maxIdle" value="${maxIdle}"></property>
		<property name="minIdle" value="${minIdle}"></property>
		<property name="filters" value="${filters}"></property>
	</bean>

	<!-- 聲明mybatis的配置類 -->
	<bean id="configuration"
		class="org.apache.ibatis.session.Configuration">
		<property name="logImpl"
			value="org.apache.ibatis.logging.stdout.StdOutImpl"></property>
	</bean>

	<!-- 配置sqlSessionFacotry -->
	<bean id="sqlSessionFactory"
		class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 注入數據源 -->
		<property name="dataSource" ref="dataSource"></property>
		<!-- 注入配置類 -->
		<property name="configuration" ref="configuration"></property>
		<!-- 配置mapper.xml -->
		<property name="mapperLocations">
			<array>
				<value>classpath:mapper/*Mapper.xml</value>
			</array>
		</property>
		<!-- 配置分頁插件 -->
		<property name="plugins">
			<array>
				<bean class="com.github.pagehelper.PageInterceptor"></bean>
			</array>
		</property>
	</bean>


	<!-- 配置掃描mapper接口的對象 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage"
			value="包.mapper"></property>
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
	</bean>

</beans>

七、配置application-service.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"
	xmlns:aop="http://www.springframework.org/schema/aop"
	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-4.3.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">

	<!-- 掃描servie -->
	<context:component-scan base-package="com.sxt.service.impl"></context:component-scan>
	
	
	<!-- 聲明事務管理器 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	<!-- 配置事務的傳播特性 -->
	<tx:advice id="myAdvise" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="insert*" propagation="REQUIRED"/>
			<tx:method name="add*" propagation="REQUIRED"/>
			<tx:method name="save*" propagation="REQUIRED"/>
			<tx:method name="update*" propagation="REQUIRED"/>
			<tx:method name="del*" propagation="REQUIRED"/>
			<tx:method name="reset*" propagation="REQUIRED"/>
			<tx:method name="change*" propagation="REQUIRED"/>
			<tx:method name="get*" read-only="true"/>
			<tx:method name="*" read-only="true"/>
		</tx:attributes>
	</tx:advice>
	
	<!-- 配置事務切面 -->
	<aop:config>
		<aop:pointcut expression="execution(* 包.service.impl.*.*(..))" id="pc"/>
		<!-- 織入 -->
		<aop:advisor advice-ref="myAdvise" pointcut-ref="pc"/>
	</aop:config>
	
</beans>

八、配置applicationContext.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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	<import resource="classpath:application-dao.xml"/>
	<import resource="classpath:application-service.xml"/>
</beans>

九、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>項目名</display-name>

	<!-- 配置編碼過濾器開始 -->
	<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> -->
		<servlet-name>springmvc</servlet-name>
	</filter-mapping>


	<!-- 配置編碼過濾器結束 -->

	<!-- 配置監聽器加載applicationContext.xml 開始 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:applicationContext.xml</param-value>
	</context-param>
	<!-- 配置監聽器加載applicationContext.xml 結束 -->


	<!-- 配置前端控制器開始 -->
	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 注入springmvc.xml -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springmvc.xml</param-value>
		</init-param>
		<!-- 配置啓動加載 -->
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>*.action</url-pattern>
	</servlet-mapping>
	<!-- 配置前端控制器結束 -->

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.html</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

============================ 上述ssm框架已經搭建完畢 =========================

  • 下一篇在此基礎上,集成shiro (java安全框架),
    Apache Shiro是一個強大且易用的Java安全框架,執行身份驗證、授權、密碼和會話管理。使用Shiro的易於理解的API,您可以快速、輕鬆地獲得任何應用程序,從最小的移動應用程序到最大的網絡和企業應用程序。

搭建Maven、SSM、shiro框架詳細步驟

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章