Rumah >Java >javaTutorial >Cara menggunakan Servlet dalam SpringBoot

Cara menggunakan Servlet dalam SpringBoot

王林
王林ke hadapan
2023-05-10 17:22:061770semak imbas

1. Kaedah 1 (menggunakan anotasi)

Mula-mula, kami menulis Servlet. Keperluan adalah hanya mencetak ayat.

Gunakan anotasi @WebServlet di atas kelas MyServlet untuk mencipta Servlet.

package com.songzihao.springboot.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(urlPatterns = "/myservlet")
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().println("My SpringBoot Servlet-1");
        resp.getWriter().flush();
        resp.getWriter().close();
    }
 
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

Kemudian gunakan anotasi @ServletComponentScan di atas kelas kemasukan projek SpringBoot untuk mengimbas anotasi dalam Servlet.

package com.songzihao.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
 
@SpringBootApplication //开启spring配置
@ServletComponentScan(basePackages = "com.songzihao.springboot.servlet")
public class Application {
 
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Terakhir mulakan ujian.

Cara menggunakan Servlet dalam SpringBoot

2. Kaedah 2 (takrifkan kelas konfigurasi)

Masih tulis Servlet dahulu. Tiada anotasi digunakan kali ini.

package com.songzihao.springboot.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 MyServlet extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().println("My SpringBoot Servlet-2");
        resp.getWriter().flush();
        resp.getWriter().close();
    }
 
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

Kemudian tulis kelas konfigurasi! ! !

Anotasi @Configuration digunakan di atas kelas ini Nama jadual kelas ini ialah kelas konfigurasi, yang bersamaan dengan pelbagai fail konfigurasi xml sebelumnya.

Gunakan anotasi @Bean di atas kaedah dalam kelas ServletRegistrationBean adalah bersamaan dengan kelas pendaftaran Servlet, serupa dengan teg

package com.songzihao.springboot.config;
import com.songzihao.springboot.servlet.MyServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
/**
 *
 */
@Configuration //该注解将此类定义为一个配置类(相当于一个xml配置文件)
public class ServletConfig {
 
    /**
     * @Bean 是一个方法级别上的注解,主要用在配置类里
     * 相当于一个 <beans>
     *              <bean id="..." class="..." />
     *          </beans>
     * @return
     */
    @Bean
    public ServletRegistrationBean myServletRegistrationBean() {
        ServletRegistrationBean servletRegistrationBean=new ServletRegistrationBean(
                new MyServlet(),"/myservlet"
        );
        return servletRegistrationBean;
    }
}

Terakhir mulakan ujian.

package com.songzihao.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@SpringBootApplication
public class Application {
 
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Cara menggunakan Servlet dalam SpringBoot

Atas ialah kandungan terperinci Cara menggunakan Servlet dalam SpringBoot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam