标签:ServletRegistrationBean Spring void Boot 注册 FilterRegistrationBean servlet publi
由于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
这样就生效了
二、注册一个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
ServletListenerRegistrationBean的使用类似于以上两种组件
Spring Boot 帮我们自动注册了SpringMVC的核心控制器DispatcherServlet,其注册方式类似于以上两种注册
标签:ServletRegistrationBean,Spring,void,Boot,注册,FilterRegistrationBean,servlet,publi 来源: https://blog.csdn.net/Kevinnsm/article/details/111407240
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。