码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot之增加一个Servlet

时间:2019-02-17 00:42:23      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:session   end   exce   rri   int   其他   style   lte   tco   

Web开发使用 Controller 基本上可以完成大部分需求,

但是我们还可能会用到 Servlet、Filter、Listener、Interceptor 等等。

 

当使用Spring-Boot时,嵌入式Servlet容器通过扫描注解的方式注册Servlet、Filter和Servlet规范的所有监听器(如HttpSessionListener监听器)。 
Spring boot 的主 Servlet 为DispatcherServlet,其默认的url-pattern为“/”。也许我们在应用中还需要定义更多的Servlet,该如何使用SpringBoot来完成呢?

在spring boot中添加自己的Servlet有两种方法,代码注册Servlet和注解自动注册(Filter和Listener也是如此)。 
一、代码注册通过ServletRegistrationBean、 FilterRegistrationBean 和ServletListenerRegistrationBean 获得控制。 也可以通过实现 ServletContextInitializer 接口直接注册。

二、在SpringBootApplication 上使用@ServletComponentScan注解后,Servlet、Filter、Listener 可以直接通过 @WebServlet、@WebFilter、@WebListener 注解自动注册,无需其他代码。

 

本例采用注解方式

 

MyServlet1.java

package com.zns.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(urlPatterns = "/myServlet1", description = "Servlet的说明")
public class MyServlet1 extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       System.out.println(">>>>>>>>>>doGet()<<<<<<<<<<<");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       System.out.println(">>>>>>>>>>doPost()<<<<<<<<<<<");
    }
}

 

 

在启动类增加@ServletComponentScan注解

SpringBoot之增加一个Servlet

标签:session   end   exce   rri   int   其他   style   lte   tco   

原文地址:https://www.cnblogs.com/zengnansheng/p/10389793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!