SpringBoot学习笔记十 :springBoot中使用servlet

springBoot中使用servlet有两种方式,如下:

方法一:使用 @WebServlet和@ServletComponentScan;

1、编写servlet类;

package com.springboot.business.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//配置servlet的访问路径
@WebServlet(urlPatterns = "/myServlet")
public class MyServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		System.out.println("访问servlet成功");
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req,resp);
	}

}

2、在项目启动文件中加入注解(@ServletComponentScan)

package com.springboot.business;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * 项目启动类
 * @author wang
 *
 */
//加入扫描 依赖,就不需要在每个mapper中加入注解@Mapper
@MapperScan("com.springboot.business.mapper")
//springBoot数据库事务支持
@EnableTransactionManagement
//扫描servlet所在包目录
@ServletComponentScan(basePackages = {"com.springboot.business.servlet"})
@SpringBootApplication
public class Application {

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

}

3、测试;


方法二:编写servlet的配置类,将servlet通过注入的方式实现;

package com.springboot.business.config;

import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.springboot.business.servlet.MyServlet;

//配置注入
@Configuration
public class ServletConfig {

	/**
	 * <Bean id="servletRegistrationBean" class=
	 * "org.springframework.boot.web.servlet.ServletRegistrationBean">
	 * 
	 * </Bean>
	 * 
	 * @return
	 */
	@Bean
	public ServletRegistrationBean<MyServlet> servletRegistrationBean() {
		ServletRegistrationBean<MyServlet> servletRegistrationBean = new ServletRegistrationBean<MyServlet>(
				new MyServlet(), "/myServlet");
		return servletRegistrationBean;
	}
}
经验分享 程序员 微信小程序 职场和发展