SSM框架整合:完成登入,解釋配置檔案為何這麼使用,父子容器問題
前言
簡單學習了SSM框架,現在開始完成第一個任務:SSM框架整合,以及搞明白為什麼要這麼配置檔案~第一次整合,搞明白裡面如何運作是很關鍵的。
專案目錄
名稱 | 作用 |
---|---|
mapper | mybatis對映檔案 |
spring | spring家族配置檔案=context為父(全域性性)+mybatis整合+transaction事務+mvc |
jdbc-druid-config | druid配置檔案 |
log4j2 | log檔案 |
mybatis-config | mybatis的配置檔案 |
專案依賴
<dependencies>
<dependency >
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.0.RELEASE</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</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/org.apache.logging.log4j/log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
<!-- 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/javax.servlet.jsp/javax.servlet.jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
</dependencies>
依賴沒進行整理,有的用不到是嘗試用的,可以根據需要進行刪減。
配置檔案
web.xml
<?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">
<!--告訴它spring配置檔案在哪-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/spring-context.xml</param-value>
</context-param>
<!--這個比較關鍵:通過Listener來載入IOC容器上下文,就是一個橋樑-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--編碼過濾器-->
<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>
<!--分發任務Servlet-->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--制定mvc配置檔案在哪-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<!--這裡是'/'而不是'/*'-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
理解一哈:
- Listener: 這裡的Listener是比較意思的地方,當tomcat載入完servletContext上下文之後,它怎麼知道要載入spring的呢?還記得Listener監聽器的作用,這裡可以認為是servletContext起來了之後,監聽器監聽到了,就開始啟動spring載入IOC容器了。知道它的作用就可以了。
- dispatcherServlet: 是一個管家。它就像快遞的中轉站一樣,來了一個請求,我就把它送給某一個Servlet去處理。
druid 資料庫連線池
# database configure
jdbc.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=true&rewriteBatchedStatements=true
jdbc.username = root
jdbc.password = lyy1314520
# druid datasource
druid.initialSize = 10
druid.minIdle = 10
druid.maxActive = 50
druid.maxWait = 60000
druid.timeBetweenEvictionRunsMillis = 60000
druid.minEvictableIdleTimeMillis = 300000
druid.validationQuery = SELECT 1
druid.testWhileIdle = true
druid.testOnBorrow = false
druid.testOnReturn = false
druid.poolPreparedStatements = false
druid.maxPoolPreparedStatementPerConnectionSize = 20
log4j2
status = error
name = PropertiesConfig
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
appenders = console
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
重點!spring配置檔案整合
老大哥:全域性context檔案
<?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.xsd">
<context:component-scan base-package="dao"/>
<context:component-scan base-package="service"/>
<import resource="spring-context-mybatis.xml"/>
<import resource="spring-context-transaction.xml"/>
</beans>
完成了2個任務,一個掃描dao,一個掃描service,然後就是匯入另外兩個配置檔案,這樣的作用是,讓整個配置條理很清晰,不要把它們擠在一起。
二哥:mybatis 整合
<?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.xsd">
<!--配置properties檔案的位置-->
<context:property-placeholder location="classpath:jdbc-druid-config.properties"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本屬性 url、user、password -->
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="${druid.initialSize}"/>
<property name="minIdle" value="${druid.minIdle}"/>
<property name="maxActive" value="${druid.maxActive}"/>
<!-- 配置獲取連線等待超時的時間 -->
<property name="maxWait" value="${druid.maxWait}"/>
<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.timeBetweenEvictionRunsMillis}"/>
<!-- 配置一個連線在池中最小生存的時間,單位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.minEvictableIdleTimeMillis}"/>
<property name="validationQuery" value="${druid.validationQuery}"/>
<property name="testWhileIdle" value="${druid.testWhileIdle}"/>
<property name="testOnBorrow" value="${druid.testOnBorrow}"/>
<property name="testOnReturn" value="${druid.testOnReturn}"/>
<!-- 開啟PSCache,並且指定每個連線上PSCache的大小 如果用Oracle,則把poolPreparedStatements配置為true,mysql可以配置為false。-->
<property name="poolPreparedStatements" value="${druid.poolPreparedStatements}"/>
<property name="maxPoolPreparedStatementPerConnectionSize"
value="${druid.maxPoolPreparedStatementPerConnectionSize}"/>
<!--End 慢sql監控及log4j設定,不想監控的話將proxyFilters屬性刪除即可 -->
</bean>
<!--配置sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<!--配置mapper掃描-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<property name="basePackage" value="dao"/>
</bean>
</beans>
這個沒啥好說的,就是這麼配置咯~然後properties配置字面量,引用等
三哥:事務處理
<?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: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/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
相關推薦
SSM框架整合:完成登入,解釋配置檔案為何這麼使用,父子容器問題
前言
簡單學習了SSM框架,現在開始完成第一個任務:SSM框架整合,以及搞明白為什麼要這麼配置檔案~第一次整合,搞明白裡面如何運作是很關鍵的。
專案目錄
名稱
作用
mapper
mybatis對映檔案
spring
spring家族配
SSM框架整合:SpringMVC + Spring + MyBatis+Maven
專案目的
建立一個登陸頁面,輸入username和password,如果和資料庫對應,則跳轉的success.jsp,否則跳轉到error.jsp
專案下載
百
搭建ssm框架專案基本原理和主要的配置檔案
1.springmvc是spring框架的一個模組,springmvc和spring無需通過中間整合層進行整合。springmvc是一個基於mvc的web框架。mvc的思想大家已經很熟悉了,簡稱“Model-View-Controller”。
下面先簡單介紹下我對spring-mvc的理
搭建ssm框架專案基本原理和主要的配置檔案小結
1.springmvc是spring框架的一個模組,springmvc和spring無需通過中間整合層進行整合。springmvc是一個基於mvc的web框架。mvc的思想大家已經很熟悉了,簡稱“Model-View-Controller”。
下面先簡單介紹下我對sprin
系統啟動時,spring配置檔案解析失敗,報”cvc-elt.1: 找不到元素 'beans' 的宣告“異常
轉自:
http://blog.163.com/[email protected]/blog/static/86556803201342210243656/
現象:Tomcat啟動時,spring載入配置檔案applicationContext.xml出錯,丟
centos6.5 ifconfig顯示為eth1,但是配置檔案只有eth0,且配置不生效
今天同事給了我一個centos6.5的ovf包,我部署上伺服器,一切都順利,但是在配置網絡卡的時候遇到了問題。
我用ifconfig命令只能顯示lo即迴路網絡卡,但是用ifconfig -a時會顯示出eth1
google了很多解決辦法。最終找到了一個問題的原因。從上面的檔案可以看出
SSM框架整合Apache Shiro,實現安全登入驗證和許可權驗證功能
第一部分 Apache Shiro的簡介
1、什麼是 apache shiro :
Apache Shiro是一個功能強大且易於使用的Java安全框架,提供了認證,授權,加密,和會話管理
如同 spring security 一樣都是是一個許可權安全框架,但是與Spri
SSM框架整合-實現CRUD,登入和分頁操作
二.專案結構:spring+springmvc+mybatis+maven+mysql+freemark+jetty
三.專案介紹:主要實現登入 crud以及分頁效果
1.登入介面
2.主頁
3.新增頁面
4.編輯頁面
四.搭建
1)準備配置
SSM框架整合後Tomcat正常啟動,控制檯未報錯,訪問所有頁面均報404異常,總結
最近整合了ssm框架,今天想完善一下,遇到Tomcat正常啟動,控制檯也正常並未報錯,但訪問均報404異常 404異常,很常見,大多情況是路徑錯誤、web.xml檔案對映路徑寫錯、伺服器設定、servlet的jar包未導進去或者沒有隨專案釋出等等。 如果是路徑錯誤,仔細檢查即可解決問
ssm框架整合,pom.xml依賴分析
宣告,使用spring5.0.7.RELEASE /mybatis3.4.6/mysql8/JDK8進行整合;
採用父工程子模組方式 整合分2大部分: spring和springmvc、spring和mybatis整合
spring和springmvc、
Java Web強化:SSM框架整合
網際網路發展日新月異,技術千變萬化,但求新切忌盲目。SSM框架在實際應用中因其便捷、優雅等特性獲得廣泛認可,因此SSM框架也成為Java開發中最流行且最實用的整合開發內容。
SSM包含Spring、Spring MVC以及MyBatis三大框架。本路徑將從Spring開始、
SSM框架整合搭建流程記錄,非maven方式
簡答描述以及環境介紹
本人採用開發工具為Eclipse,JDK版本為1.8 tomcat為7.0,啟動未報錯。初學者建議根據2345678流程操作
匯入Jar包
利用逆向工程自動生成 實體類,Mapper介面,mapper檔案
編輯web.xml(配置s
SSM框架整合Maven工程整合Spring+Springmvc+Mybatis(詳細教程,附程式碼)
一、基本概念
1、Spring
Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分
SSM框架整合PageHelper外掛,實現分頁功能
本文簡單的介紹瞭如何運用PageHelper外掛實現分頁功能。
一、在 pom.xml 中新增如下依賴:
從下面的地址中檢視最新版本的 jar 包
<!-- 新增分佈外掛的包pageh
ssm框架整合配置---web.xml,傻傻分不清楚
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:x
ssm框架整合AOP,實現日誌記錄功能
在ssm框架中,實現一個切面日誌功能,起碼要掌握的知識有四點:
以下是自己之前做的一個專案,希望對你們有幫助
1:先定義一個自定義註解類
@Target({METHOD, TYPE})
@Retention(RetentionPolicy.RUNTIME)
@In
SSM框架整合,包括工作流Activiti
1:專案使用maven管理,pom.xml檔案內容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins
ssm框架整合實現登入功能
一、準備所需的jar包1.1所需jar包 1.Spring框架jar包 2.Mybatis框架jar包 3.Spring的AOP事務jar包 4.Mybatis整合Spring中介軟體jar包 5.aspectj框架jar包 6.aop聯盟jar包 7.資料庫驅動
一步一步完成SSM框架整合(Spring+Spring MVC + Mybatis)
新建maven工程
eclipse中選擇new Maven Project項,制定archetype為webapp,填寫好groupId之類的,然後finish,這時可能工程有一些錯誤,通過修改Java Build Path,修復錯誤:
然後new一個s
晨魅--練習ssm框架整合,做增刪改查操作
我的開發環境:Windows10系統開發工具:MyEclipse10,JDK1.8,MySQL5.0,Tomcat7.0ssm框架整合在MyEclipse裡建一個web工程,然後搭建環境,就是匯入jar包,我的jar包是管老師要的,裡邊有連線資料庫驅動的,有spring的,有