二、Spring Boot 整合 Servlet
一、创建项目
二、方式一(注解扫描)
1、创建 Servlet
- 创建自定义类继承类
HttpServlet
- 重写方法
doGet
- 添加注解
@WebServlet
代码:
package com.ccd.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;
/**
* @author ikaros
* Spring Boot 整合Servlet
*/
@WebServlet(name = "FirstServlet", urlPatterns = {"/first"})
public class FirstServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
}
2、创建驱动类
- 创建启动类
- 添加注解@ServletComponentScan**
代码
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
/**
* @author 岁月紫泪
*/
@SpringBootApplication
@ServletComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
(二)、方式二(方法注册)
1、创建 Servlet
- 创建自定义类继承类
HttpServlet
- 重写方法
doGet
代码:
package com.example.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class SecondServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Servlet2 启动 ...");
}
}
2、创建驱动类
- 创建启动类
- 创建自定义方法,返回值类型为
ServletRegistrationBean
- 自定义方法添加注解
@Bean
- 注册自定义
servlet
ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
bean.addUrlMappings("/second");
return bean;
代码
package com.example;
import com.example.servlet.SecondServlet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class Application2 {
public static void main(String[] args) {
SpringApplication.run(Application2.class, args);
}
@Bean
public ServletRegistrationBean getServlet(){
ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
bean.addUrlMappings("/second");
return bean;
}
}