javascript
springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener
1. SpringBoot介紹
(1) 什么是Spring Boot?
(2) Spring Boot有哪些特點?
Spring Boot 設(shè)計目的是用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程。
嵌入的 Tomcat,無需部署 WAR 文件
Spring Boot 并不是對 Spring 功能上的增強,而是提供了一種快速使用 Spring 的方式。
2. 構(gòu)建SpringBoot項目以及啟動器講解
(1) Spring Boot常見的啟動器有哪些?
所謂的SpringBoot啟動器其實就是一些jar包的集合。SpringBoot一共提供44啟動器。
spring-boot-starter-web 支持全棧式的web開發(fā),包括了tomcat和springMVC等jar
Spring-boot-starter-jdbc 支持spring以jdbc方式操作數(shù)據(jù)的jar包的集合。
Spring-boot-starter-redis 支持redis鍵值存儲的數(shù)據(jù)庫操作。
(2) Spring Boot的Web啟動器的坐標(biāo)是什么?
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>3. 編寫HelloWorld
(1) 如何編寫Spring Boot啟動類?
package com.bjsxt;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /*** SpringBoot 啟動類* @author MSI-PC**/ @SpringBootApplication public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);} }(2) 編寫Spring Boot啟動類時需要注意什么?
啟動器存放的位置,啟動器可以和controller位于同一個包下,或者位于controller的上一級包中,但是不能放到controller平行的包及子包下。即啟動器只能位于Controller所在包及其上級包中。
4. Spring Boot整合Servlet
(1) Spring Boot整合Servlet有幾種方式?
通過注解掃描完成Servlet組件的注冊
通過方法完成Servlet組件的注冊
(2) 各種方式有什么特點?
通過注解掃描完成Servlet組件的注冊
Servlet
package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /*** SpringBoot整合Servlet方式一* @author MSI-PC**/ @WebServlet(name="FirstServlet",urlPatterns="/first") public class FirstServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("FirstServlet.........................");} }App啟動類
package com.bjsxt;import javax.servlet.annotation.WebServlet;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan;/*** SpringBoot啟動類* 整合Servlet方式一:通過注解* @author MSI-PC**/ @SpringBootApplication @ServletComponentScan //在SpringBoot啟動時,會掃描@WebServlet注解,并將該類實例化 public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);} }通過方法完成Servlet組件的注冊
Servlet
package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /*** SpringBoot整合Servlet方式二:通過方法* @author MSI-PC**/ public class SecondServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("SecondServlet......................");} }App啟動類
package com.bjsxt;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean;import com.bjsxt.servlet.SecondServlet;/*** SpringBoot整合Servlet方式二:通過方法* @author MSI-PC**/ @SpringBootApplication public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);}@Beanpublic ServletRegistrationBean getServletRegistrationBean(){ServletRegistrationBean bean = new ServletRegistrationBean<>(new SecondServlet());return bean;} }5. Spring Boot整合Filter
(1) Spring Boot整合Filter有幾種方式?
通過注解掃描完成Filter組件的注冊
通過方法完成Filter組件的注冊
(2) 各種方式有什么特點?
通過注解掃描完成Filter組件的注冊
Servlet類
package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;@WebServlet(name="FirstServlet",urlPatterns="/first") public class FirstServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("FirstServlet................");} }Filter類
package com.bjsxt.filter;import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; /*** SpringBoot整合Filter方式一:注解方式* @author MSI-PC**/ @WebFilter(filterName="FirstFilter",urlPatterns="/first") public class FirstFilter implements Filter {@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)throws IOException, ServletException {System.out.println("進入Filter.........");arg2.doFilter(arg0, arg1);System.out.println("離開Filter..............");}}App啟動類
package com.bjsxt;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan;@SpringBootApplication @ServletComponentScan public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);} }通過方法完成Filter組件的注冊
Servlet
package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class SecondServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("SecondServlet...................");} }Filter
package com.bjsxt.filter;import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse;public class SecondFilter implements Filter {@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)throws IOException, ServletException {System.out.println("進入SecondFilter............");arg2.doFilter(arg0, arg1);System.out.println("離開SecondFilter................");}}SpringBoot啟動類
package com.bjsxt;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean;import com.bjsxt.filter.SecondFilter; import com.bjsxt.servlet.SecondServlet;/*** SpringBoot整合Filter方式二:通過方法* @author MSI-PC**/ @SpringBootApplication public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);}/*** 注冊Servlet* @return*/@Beanpublic ServletRegistrationBean getServletRegistrationBean() {ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());bean.addUrlMappings("/second");return bean;}/*** 注冊Filter* @return*/@Beanpublic FilterRegistrationBean getFilterRegistrationBean() {FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());bean.addUrlPatterns("/second");return bean;} }6. springBoot整合Listener
(1) Spring Boot整合Listener有幾種方式?
通過注解掃描方式
通過方法的方式
(2) 各種方式有什么特點?
通過注解掃描方式
Listener類
package com.bjsxt.listener;import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; /*** SpringBoot整合Listener方式一:注解掃描方式* @author MSI-PC**/ @WebListener public class FirstListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent sce) {// TODO Auto-generated method stubServletContextListener.super.contextInitialized(sce);System.out.println("Listener..........init..........");} }SpringBoot啟動類
package com.bjsxt;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan;@SpringBootApplication @ServletComponentScan public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);} }通過方法的方式
Listener類
package com.bjsxt.listener;import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;public class SecondListener implements ServletContextListener{@Overridepublic void contextInitialized(ServletContextEvent sce) {// TODO Auto-generated method stubServletContextListener.super.contextInitialized(sce);System.out.println("SecondListener............init..........");} }SpringBoot啟動類
package com.bjsxt;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /*** SpringBoot整合Listener方式二:通過方法* @author MSI-PC**/ import org.springframework.boot.web.servlet.ServletListenerRegistrationBean; import org.springframework.context.annotation.Bean;import com.bjsxt.listener.SecondListener; @SpringBootApplication public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);}@Beanpublic ServletListenerRegistrationBean<SecondListener> getServletListenerRegistrationBean(){ServletListenerRegistrationBean bean = new ServletListenerRegistrationBean(new SecondListener());return bean;} }7. Spring Boot訪問靜態(tài)資源
(1) 在Spring Boot中訪問靜態(tài)資源有幾種方式?
兩種:
SpringBoot從classpath/static的目錄
ServletContext根目錄 src/main/webapp
8. Spring Boot文件上傳
(1) 在Spring Boot中如何設(shè)置單個上傳文件大小?
在resources文件夾下添加application.properties配置文件,并添加
spring.http.multipart.maxFileSize=200MB
(2) 在Spring Boot中如何設(shè)置一次請求上傳文件大小?
在application.properties文件中添加如下配置:
spring.http.multipart.maxRequestSize=200MB
9. Spring Boot整合jsp
(1) 在Spring Boot中整合jsp需要添加哪些坐標(biāo)?
<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency>10. Spring Boot整合Freemarker
(1) 在Spring Boot中整合Freemarker需要添加哪些坐標(biāo)?
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>(2) Freemarker視圖的擴建名是什么?
.ftl
11. Thymeleaf入門-創(chuàng)建項目
在Spring Boot中整合Thymeleaf需要添加哪些坐標(biāo)?
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>(2) Thymeleaf視圖的擴建名是什么?
.html
(3) Thymeleaf視圖要求放到項目的哪個目錄下?
Src/main/resources/templates
該目錄是安全的。意味著該目錄下的內(nèi)容是不允許外界直接訪問的。
12. Thymeleaf入門-Thymeleaf基本使用
(1) Thymeleaf的特點是什么?
Thymeleaf是通過它特定的語法對html的標(biāo)記做渲染。
(2) 在使用Thymeleaf時頁面會出現(xiàn)什么異常?
(2) 解決Thymeleaf中標(biāo)簽匹配的異常有幾種方式?
兩種
解決異常方式 1
讓 html 的標(biāo)記按照嚴(yán)禁的語法去編寫。
解決異常方式 2
Thymeleaf.jar:更新為 3.0 以上的版本
thymeleaf-layout-dialect.jar:更新為 2.0 以上的版本
更換 thymeleaf 的 jar 包的版本
<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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> </parent> <groupId>com.bjsxt</groupId> <artifactId>10-spring-boot-view-thymeleaf</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <java.version>1.7</java.version> <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version> <thymeleaf-layout-dialect.version>2.0.4</thymeleaf-layout-dialect.versi on> </properties> <dependencies> <!-- springBoot 的啟動器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- springBoot 的啟動器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> </dependencies> </project>總結(jié)
以上是生活随笔為你收集整理的springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实时监控_使用Python监
- 下一篇: 跳一跳python源码下载_微信跳一跳p