springboot_使用servlet的两种方式

缺乏、安全感 2023-07-07 03:54 31阅读 0赞

虽然在springboot中我们使用Controller可以应付大部分的需求,但servlet等也是必不可少的。

在springboot中使用servlet有两种方式:

第一种:

  1. 用注解方式创建一个servlet,并在注解中声明其url
  2. 在Application类上添加@ServletComponentScan(“com.rong.interceptor.servlet”),该注解里是创建的servlet的路径。

    package com.rong.interceptor.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;

    @WebServlet(“/myservlet”)
    public class MyServlet extends HttpServlet {

    1. @Override
    2. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    3. resp.getWriter().write("hello");
    4. }
    5. @Override
    6. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    7. this.doGet(req,resp);
    8. }

    }

    @SpringBootApplication
    @ServletComponentScan(“com.rong.interceptor.servlet”)
    public class Application {

    1. public static void main(String[] args) {
    2. SpringApplication.run(Application.class, args);
    3. }

    }

第二种(此方式区别在于不使用@ServletComponentScan):

  1. 仍然要创建一个servlet,与上面一样区别是不用@WebServlet注解。
  2. 再创建一个servlet配置类,并在配置类中添加url

    package com.rong.interceptor.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;

    public class MyServlet extends HttpServlet {

    1. @Override
    2. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    3. resp.getWriter().write("hello");
    4. }
    5. @Override
    6. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    7. this.doGet(req,resp);
    8. }

    }

    package com.rong.interceptor.config;

    import com.rong.interceptor.servlet.MyServlet;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;

    @Configuration
    public class ServletConfig {

    1. @Bean
    2. public ServletRegistrationBean myServletRegistration(){
    3. ServletRegistrationBean registration = new ServletRegistrationBean(new MyServlet());
    4. registration.addUrlMappings("/myservlet");
    5. return registration;
    6. }

    }

发表评论

表情:
评论列表 (有 0 条评论,31人围观)

还没有评论,来说两句吧...

相关阅读