javascript
springboot获取原生js请求_七节课带你学会SpringBoot,第三课
?點(diǎn)擊觀看Sping Boot完整視頻教程?
一、Spring Boot整合Druid
1. 數(shù)據(jù)庫連接池回顧
在內(nèi)存中一塊空間,空間中放置N多個(gè)數(shù)據(jù)庫連接對象。對象可以是處于活動狀態(tài),也可以是空閑(Idle)狀態(tài)的。數(shù)據(jù)庫獲取連接對象時(shí)不在從數(shù)據(jù)庫中獲取連接對象,而是從數(shù)據(jù)庫連接池中獲取到連接對象,當(dāng)獲取到連接對象后,對象處于活動狀態(tài)(Active),當(dāng)連接對象使用完成后,在代碼中進(jìn)行連接關(guān)閉,實(shí)際上是把連接對象從活動狀態(tài)變?yōu)榭臻e狀態(tài),不是真正的關(guān)閉。
在頻繁訪問數(shù)據(jù)庫(訪問頻率特別高的)的應(yīng)用中,使用數(shù)據(jù)庫連接池效率高。
2. Druid
Druid是由阿里巴巴推出的數(shù)據(jù)庫連接池。它結(jié)合了C3P0、DBCP、PROXOOL等數(shù)據(jù)庫連接池的優(yōu)點(diǎn)。之所以從眾多數(shù)據(jù)庫連接池中脫穎而出,還有一個(gè)重要的原因就是它包含控制臺。
3. 代碼實(shí)現(xiàn)
3.1 添加依賴
此依賴版本一定不能太高,否則和數(shù)據(jù)庫驅(qū)動不匹配,無法訪問控制臺頁面。
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.13.RELEASE</version> </parent><dependencies><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version></dependency> </dependencies>3.2 編寫配置文件
其中spring.datasource.type就告訴程序使用druid連接池。
spring:datasource:# 使用阿里的Druid連接池type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driver# 填寫你數(shù)據(jù)庫的url、登錄名、密碼和數(shù)據(jù)庫名url: jdbc:mysql://127.0.0.1:3306/tingyu?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 username: rootpassword: rootdruid:# 連接池的配置信息# 初始化大小,最小,最大initial-size: 5min-idle: 5maxActive: 20# 配置獲取連接等待超時(shí)的時(shí)間maxWait: 60000# 配置間隔多久才進(jìn)行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1testWhileIdle: truetestOnBorrow: falsetestOnReturn: false# 打開PSCache,并且指定每個(gè)連接上PSCache的大小poolPreparedStatements: truemaxPoolPreparedStatementPerConnectionSize: 20# 配置監(jiān)控統(tǒng)計(jì)攔截的filters,去掉后監(jiān)控界面sql無法統(tǒng)計(jì),'wall'用于防火墻filters: stat,wall,slf4j# 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000# 配置DruidStatFilterweb-stat-filter:enabled: trueurl-pattern: "/*"exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"# 配置DruidStatViewServletstat-view-servlet:url-pattern: "/druid/*"# IP白名單(沒有配置或者為空,則允許所有訪問)allow: 127.0.0.1,192.168.163.1# IP黑名單 (存在共同時(shí),deny優(yōu)先于allow)deny: 192.168.1.188# 禁用HTML頁面上的“Reset All”功能reset-enable: false# 登錄名login-username: admin# 登錄密碼login-password: 123456 mybatis:mapper-locations: classpath:mybatis/*.xml二、Spring Boot整合PageHelper
Spring Boot整合PageHelper不需要做任何配置文件的配置,添加依賴后就可以直接使用。
1. 添加依賴
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.12</version> </dependency>2. 編寫代碼
代碼中一定要注意,要把PageHelper.startPage()寫在上面。
//pageNumber為當(dāng)前頁碼 pageSize為頁大小 PageHelper.startPage(pageNumber,pageSize); //查詢?nèi)?List<POJO> list = tbItemMapper.selectAll(); // 構(gòu)造方法參數(shù)必須是查詢?nèi)康慕Y(jié)果。否則無法知道給哪個(gè)sql后面拼接limit //PageInfo是分頁查詢所有查詢結(jié)果封裝的類,所有的結(jié)果都從這個(gè)類取 PageInfo<TbItem> pi = new PageInfo<>(list); System.out.println(pi.getList()); System.out.println(pi.getTotal());三、Spring Boot整合logback
- Spring Boot默認(rèn)使用Logback組件作為日志管理。Logback是由log4j創(chuàng)始人設(shè)計(jì)的一個(gè)開源日志組件。
- 在Spring Boot項(xiàng)目中我們不需要額外的添加Logback的依賴,因?yàn)樵趕pring-boot-starter或者spring-boot-starter-web中已經(jīng)包含了Logback的依賴。
Logback讀取配置文件的步驟
四、Spring Boot整合JSP
1. 添加依賴
<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope> </dependency>2. 在項(xiàng)目中創(chuàng)建webapp目錄并將其設(shè)置為資源目錄
1)在項(xiàng)目中新建webapp/WEB-INF目錄
2)設(shè)置工作目錄,如果在IDEA中項(xiàng)目結(jié)構(gòu)為聚合工程。那么在運(yùn)行jsp是需要指定路徑。如果項(xiàng)目結(jié)構(gòu)為獨(dú)立項(xiàng)目則不需要。
3)在 yml配置文件中配置視圖解析器參數(shù)
4)在控制類中聲明單元方法請求轉(zhuǎn)發(fā)jsp資源
五、Spring Boot整合Thymeleaf
1. Thymeleaf介紹
Thymeleaf的主要目標(biāo)是將優(yōu)雅的自然模板帶到開發(fā)工作流程中,并將HTML在瀏覽器中正確顯示,并且可以作為靜態(tài)原型,讓開發(fā)團(tuán)隊(duì)能更容易地協(xié)作。Thymeleaf能夠處理HTML,XML,JavaScript,CSS甚至純文本。
長期以來,jsp在視圖領(lǐng)域有非常重要的地位,隨著時(shí)間的變遷,出現(xiàn)了一位新的挑戰(zhàn)者:Thymeleaf,Thymeleaf是原生的,不依賴于標(biāo)簽庫.它能夠在接受原始HTML的地方進(jìn)行編輯和渲染.因?yàn)樗鼪]有與Servelet規(guī)范耦合,因此Thymeleaf模板能進(jìn)入jsp所無法涉足的領(lǐng)域。
Thymeleaf在Spring Boot項(xiàng)目中放入到resources/templates中。這個(gè)文件夾中的內(nèi)容是無法通過瀏覽器URL直接訪問的(和WEB-INF效果一樣),所有Thymeleaf頁面必須先走控制器。
2. 使用步驟
2.1 在pom.xml中添加Thymeleaf啟動器
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>2.2在resources下新建templates文件夾。新建index.html
html頁面隨意寫句話,以免訪問index.html是空白頁。
2.3新建控制器
此處方法返回值為頁面名稱。
@RequestMapping("/showIndex") public String showIndex(){System.out.println("執(zhí)行index");return "index"; }3. Thymeleaf語法
為了有提示,修改html頁面中<html>標(biāo)簽為
<html xmlns:th="http://www.thymeleaf.org" >3.1 th:text屬性
向HTML標(biāo)簽內(nèi)部輸出信息。
<!--直接向標(biāo)簽內(nèi)部填充內(nèi)容,清空原有內(nèi)容 --> <span th:text="jqk"></span> <!-- 從作用域中獲取name輸入到標(biāo)簽內(nèi)部 --> <span th:text="${name}"></span>3.2 th:value
表單元素,設(shè)置HTML標(biāo)簽中表單元素value屬性時(shí)使用。
<input type="text" th:value="${name}"/>3.3 th:if
進(jìn)行邏輯判斷。如果成立該標(biāo)簽生效(顯示),如果不成立,此標(biāo)簽無效(不顯示)。
注意:判斷條件中邏輯判斷符號寫在${}外面的
<span th:if="${name}!='張三'">會顯示</span>3.4 th:each
循環(huán)遍歷.
示例中u為迭代遍歷。
th:each=”u,i :${list}” 其中i表示迭代狀態(tài)。
3.5 th:href
設(shè)置href屬性的。取值使用@{ }取值
<a th:href="@{/getParam(id=1,name='bjsxt')}" >跳轉(zhuǎn)</a> <!-- 獲取作用域值--> <a th:href="@{/getParam(name=${name})}">跳轉(zhuǎn)二</a>3.6 th:onclick
點(diǎn)擊傳遞參數(shù)的單擊事件
<th><a href="javascript:viod(0)" th:onclick="'del('+${stu.sid}+')'">刪除</a></th>3.7 字符串操作
Thymeleaf提供了一些內(nèi)置對象,內(nèi)置對象可直接在模板中使用。這些對象是以#引用的。
使用內(nèi)置對象的語法:
- 引用內(nèi)置對象需要使用#
- 大部分內(nèi)置對象的名稱都以s結(jié)尾。如:strings、numbers、dates
3.8 日期格式化處理
3.9 操作域?qū)ο?/p>
3.9.1 HttpServletRequest
3.9.2 HttpSession
3.9.3 ServletContext
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的springboot获取原生js请求_七节课带你学会SpringBoot,第三课的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 叙述无保密机制的rsa签名过程_安全系列
- 下一篇: mybatis 自动生成integer_