SpringBoot之自定义Servlet
来源:互联网 发布:嵌套fragment数据交互 编辑:程序博客网 时间:2024/04/30 08:22
生产中我们有时候需要自定义servlet比如,对一些特定的资源路径进来的请求,做一些特殊处理,本文,介绍两种自定义的方法。
目录
@WebServlet 注解方式
注册ServletRegistrationBean
1.@WebServlet 注解方式
使用该方式注意一点,就是要与 @ServletComponentScan
配合使用
@WebServlet(urlPatterns = "/api", description = "api进来的通过该servlet")public class ApiGateWayServlet extends HttpServlet { private ApplicationContext applicationContext; private ApiGateWayHandler apiGateWayHandler; @Override public void init() throws ServletException { super.init(); applicationContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext()); apiGateWayHandler = applicationContext.getBean(ApiGateWayHandler.class); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { apiGateWayHandler.handle(req,resp); }}
在启动类,添加ServeltComponentScan
@ServletComponentScan@SpringBootApplicationpublic class SpringBootSampleApplication { public static void main(String[] args) { ConfigurableApplicationContext configurableApplicationContext = SpringApplication.run(SpringBootSampleApplication.class, args); SpringContextUtils.setApplicationContext(configurableApplicationContext); }}
2. 注册ServletRegistrationBean
@SpringBootApplicationpublic class SpringBootSampleApplication { @Bean public ServletRegistrationBean servletRegistrationBean() { return new ServletRegistrationBean(new ApiGateWayServlet(), "/*"); } public static void main(String[] args) { ConfigurableApplicationContext configurableApplicationContext = SpringApplication.run(SpringBootSampleApplication.class, args); SpringContextUtils.setApplicationContext(configurableApplicationContext); }}
3.check是否配置成功
2017-09-19 10:44:28.313 INFO 6761 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'apiGateWayServlet' to [/*]2017-09-19 10:44:28.315 INFO 6761 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
阅读全文
0 0
- SpringBoot之自定义Servlet
- springboot实战之注册自定义Servlet
- springboot之servlet注入
- SpringBoot之Servlet(C)
- SpringBoot学习笔记之Servlet使用
- SpringBoot中级教程之SpringBoot自定义配置(十一)
- SpringBoot之@EnableAutoConfiguration原理及自定义扩展
- Springboot 之 自定义配置文件及读取配置文件
- SpringBoot之配置文件及自定义参数
- Springboot 之 自定义配置文件及读取配置文件
- Springboot 之 自定义配置文件及读取配置文件
- Springboot 之 自定义配置文件及读取配置文件
- SpringBoot之@EnableAutoConfiguration原理及自定义扩展
- Springboot 之 自定义配置文件及读取配置文件
- Springboot 之 自定义配置文件及读取配置文件
- SpringBoot学习5之自定义注解
- Servlet编程之自定义标签
- SpringBoot初始教程之Servlet、Filter、Listener配置(七)
- 获取项目下文件的三种方式
- 机器学习第十六课part2(LDA模型)
- java.lang.UnsupportedOperationException
- Python编程:从入门到实践(课后习题5)
- 设置状态栏颜色
- SpringBoot之自定义Servlet
- Android 弹性动画的三种实现方式
- codeves 苹果树 dfs序+树状数组/线段树
- Sqlite数据库
- redis操作相关
- centos 查看版本的多种方法
- ppt模板网站
- 初窥nodejs(四) ——express框架
- try catch finally的运行顺序