springboot中那里写servlet
时间: 2024-03-13 11:43:10 浏览: 103
在Spring Boot中使用Servlet有两种方式:一种是通过注解方式,一种是通过WebMvcConfigurerAdapter方式。
1. 通过注解方式
通过使用@WebServlet、@WebFilter、@WebListener注解,可以在Spring Boot项目中使用Servlet。
示例代码:
```java
@WebServlet(name = "myServlet", urlPatterns = "/myServlet")
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("Hello World!");
}
}
```
在启动类上添加@ServletComponentScan注解:
```java
@SpringBootApplication
@ServletComponentScan
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
2. 通过WebMvcConfigurerAdapter方式
通过继承WebMvcConfigurerAdapter,实现addServlet方法,可以在Spring Boot项目中使用Servlet。
示例代码:
```java
@Configuration
public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {
@Override
public void addServlet(ServletRegistrationBean registrationBean) {
registrationBean.setServlet(new MyServlet());
registrationBean.addUrlMappings("/myServlet");
registrationBean.setLoadOnStartup(1);
}
}
```
需要注意的是,在Spring Boot 2.0及以上版本中,WebMvcConfigurerAdapter已经被废弃,推荐使用WebMvcConfigurer接口,示例代码如下:
```java
@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {
@Bean
public ServletRegistrationBean<MyServlet> myServletRegistrationBean() {
ServletRegistrationBean<MyServlet> registrationBean = new ServletRegistrationBean<>();
registrationBean.setServlet(new MyServlet());
registrationBean.addUrlMappings("/myServlet");
registrationBean.setLoadOnStartup(1);
return registrationBean;
}
}
```
以上两种方式均可以在Spring Boot项目中使用Servlet,具体选择哪种方式,可以根据实际业务需求来决定。
阅读全文