Spring Boot 整合Servlet
2024-08-29 05:46:03
冷知识,几乎用不到
在spring boot中使用Servlet有两种实现方法;
方法一:
正常创建servlet,然后只用注解@ServletComponentScan
package clc.user.servlet; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; /**
* ClassName: FirstServlet<br/>
* Description:spring boot 整合sevlet <br/>
* date: 2019/4/1 4:07 PM<br/>
* <p>
* 正常创建Servlet
* 可以使用@WebServlet注解实现
* 在spring boot启动类加注解@ServletComponentScan,会让spring启动时扫描@WebServlet注解并实例化
*
* @author chengluchao
* @since JDK 1.8
*/ @WebServlet(name = "FirstServlet", urlPatterns = "/FirstServlet")
public class FirstServlet extends HttpServlet { @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println("FirstServlet");
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
对应的启动类:
@SpringBootApplication
@ServletComponentScan
public class UserServiceApplication { public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
}
----------
方法二:
正常创建Servlet,但不对其进行配置,放到启动类来操作
package clc.user.servlet; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; /**
* ClassName: SecondServlet<br/>
* Description:spring boot 整合sevlet <br/>
* date: 2019/4/1 4:07 PM<br/>
* <p>
*
* @author chengluchao
*
* 需要:
* @Bean public ServletRegistrationBean getServletRegistrationBean() {
* ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
* bean.addUrlMappings("SecondServlet");
* return bean;
* }
* @since JDK 1.8
*/ public class SecondServlet extends HttpServlet { @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println("SecondServlet");
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
@SpringBootApplication
public class UserServiceApplication2 { @Bean
public ServletRegistrationBean getServletRegistrationBean() {
ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
bean.addUrlMappings("/SecondServlet");
return bean;
} public static void main(String[] args) {
SpringApplication.run(UserServiceApplication2.class, args);
}
}
最新文章
- C/C++程序员常去网站
- 程序中保存状态的方式之ViewState
- xmpp整理笔记:聊天信息的发送与显示
- 遇到tomcat端口被占用问题解决方案
- LOB字段存放在指定表空间 清理CLOB字段及压缩CLOB空间
- 替换、恢复Html中的特殊字符
- BZOJ2140: 稳定婚姻
- 调试php的soapCient
- This application failed to start because it could not find or load the Qt platform plugin ";windows";
- linux访问windows共享文件夹的两种方法
- Python什么是值或引用函数参数
- Linux-day1-pdf课件
- java 字符串笔记
- 京东618:Docker扛大旗,弹性伸缩成重点 (2015-06-23)
- python读取wav文件并播放[pyaudio/wave]
- keepalived + lvs
- 教你phpstudy如何搭建本地多站点
- February 4th, 2018 Week 6th Sunday
- (转)深入sql server中的事务
- P2231 [HNOI2002]跳蚤
热门文章
- gevent 使用踩坑
- [暑假集训--数位dp]hdu2089 不要62
- 洛谷 [P3265] 装备购买
- 【Java TCP/IP Socket】UDP Socket(含代码)
- Vim出现:_arguments:450: _vim_files: function definition file not found的问题解决
- Docker资源限制实现——cgroup
- 一种client同步server数据的方案
- TagCanvas - HTML5 Canvas Tag Cloud
- Java 兔子问题(斐波那契数列)扩展篇
- 一道有关switch-case题目