0
点赞
收藏
分享

微信扫一扫

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注解,否者无法加入到容器中
@Bean
public 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-8

4.启动主配置文件访问http://localhost:8081/boot/myServlet

Spring Boot之注册servlet三大组件_spring

这样就生效了

二、注册一个FilterRegistrationBean

1.定义一个Filter类

public class MyFilter implements Filter {

@Override
public void init(FilterConfig filterConfig) throws ServletException {

}

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("success");
filterChain.doFilter(servletRequest,servletResponse);
}

@Override
public void destroy() {

}
}

2.编写一个filter配置类

@Configuration
public class MyServerConfig {
//注册三大组件

@Bean
public FilterRegistrationBean filterRegistrationBean(){
FilterRegistrationBean re = new FilterRegistrationBean();
re.setFilter(new MyFilter());
re.setUrlPatterns(Arrays.asList("/hello","/filter"));
return re;
}

3.启动访问http://localhost:8081/boot/filter

Spring Boot之注册servlet三大组件_filter_02

ServletListenerRegistrationBean的使用类似于以上两种组件

Spring Boot 帮我们自动注册了SpringMVC的核心控制器DispatcherServlet,其注册方式类似于以上两种注册


举报

相关推荐

0 条评论