springboot中使用servlet

需要在springboot的启动类Webapplication上加上注解,对指定包进行扫描:

@ServletComponentScan("com.bjpowernode.springboot.servlet")

com.bjpowernode.springboot.servlet是包的全名,servlet文件所在的包。

servlet类上需要加上注解,配置映射路径,才能被解析:

@WebServlet(urlPatterns = "/myservlet")

完整代码示例:

package com.bjpowernode.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 request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().println("my springboot servlet……测试中文输出");
        response.getWriter().flush();
        response.getWriter().close();

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }
}

启动类的代码:

package com.bjpowernode.springboot;

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;

@SpringBootApplication
@MapperScan("com.bjpowernode.springboot.mapper") //取代在mapper接口上配置的@Mapper
@ServletComponentScan("com.bjpowernode.springboot.servlet")//扫描Servlet包
@EnableTransactionManagement //开启事务支持
public class WebApplication {

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

}
原文地址:https://www.cnblogs.com/Tpf386/p/11041253.html