當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Boot之注册servlet三大组件
生活随笔
收集整理的這篇文章主要介紹了
Spring Boot之注册servlet三大组件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
由于Spring Boot默認是以jar包的形式啟動嵌入式的Servlet容器來啟動Spring Boot的web應用是,沒有web.xml配置文件
注冊三大組件用以下方式
ServletRegistrationBean
FilterRegistrationBean
ServletListenerRegistrationBean
一、注冊一個ServletRegistrationBean
1.定義一個Servlet類
//向頁面輸出一句hello public class HttpServlet extends javax.servlet.http.HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.getWriter().write("hello");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);} }2.編寫一個Servlet配置類
@Configuration public class MyServerConfig {//注冊三大組件//注意加上@Bean注解,否者無法加入到容器中@Beanpublic ServletRegistrationBean myServlet(){ServletRegistrationBean servlet = new ServletRegistrationBean(new HttpServlet(), "/myServlet");return servlet;}3.Spring Boot配置文件
server.port=8081 server.servlet.context-path=/boot server.tomcat.uri-encoding=UTF-84.啟動主配置文件訪問http://localhost:8081/boot/myServlet
這樣就生效了
二、注冊一個FilterRegistrationBean
1.定義一個Filter類
public class MyFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("success");filterChain.doFilter(servletRequest,servletResponse);}@Overridepublic void destroy() {} }2.編寫一個filter配置類
@Configuration public class MyServerConfig {//注冊三大組件@Beanpublic FilterRegistrationBean filterRegistrationBean(){FilterRegistrationBean re = new FilterRegistrationBean();re.setFilter(new MyFilter());re.setUrlPatterns(Arrays.asList("/hello","/filter"));return re;}3.啟動訪問http://localhost:8081/boot/filter
ServletListenerRegistrationBean的使用類似于以上兩種組件
Spring Boot 幫我們自動注冊了SpringMVC的核心控制器DispatcherServlet,其注冊方式類似于以上兩種注冊
總結
以上是生活随笔為你收集整理的Spring Boot之注册servlet三大组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式Servlet容器
- 下一篇: Spring Boot-切换嵌入式Ser