SpringBoot入门(3)——Servlet

1.通过代码注册servlet

代码注册主要通过使用 ServletRegistrationBean<T>类来完成。

  • 创建MyServlet
package com.example.demo;

import java.io.IOException;
import java.io.PrintWriter;

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

public class MyServlet extends HttpServlet {

    private static final long serialVersionUID = 6632886175268784375L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("<<<<<=====doGet()=====>>>>>");
        doPost(req, resp);

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         System.out.println(">>>>>>>>>>doPost()<<<<<<<<<<<");
            resp.setContentType("text/html");
            resp.setCharacterEncoding("utf-8");
            PrintWriter out = resp.getWriter();  
            out.println("<html>");  
            out.println("<head>");  
            out.println("<title>Hello World</title>");  
            out.println("</head>");  
            out.println("<body>");  
            out.println("<h1>大家好,我的名字叫Servlet</h1>");  
            out.println("</body>");  
            out.println("</html>"); 
    }

}

  • 创建类注册
package com.example.demo;

import javax.servlet.Servlet;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class SpringBootSampleApplication {

    @Bean
    public ServletRegistrationBean<Servlet> servletRegistrationBean(){

        return new ServletRegistrationBean<Servlet>(new MyServlet(), "/servlet/*");
    }

    public static void main(String[] args) {

        SpringApplication.run(SpringBootSampleApplication.class, args);

    }
}
  • 运行结果如下
    这里写图片描述
2.通过注解创建servelet

修改上述两个类

  • 修改 MyServlet
package com.example.demo;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns="/annotation/myservlet", description="Servlet的说明") 
public class MyServlet extends HttpServlet {

    private static final long serialVersionUID = 6632886175268784375L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("<<<<<=====doGet()=====>>>>>");
        doPost(req, resp);

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         System.out.println(">>>>>>>>>>doPost()<<<<<<<<<<<");
            resp.setContentType("text/html");
            resp.setCharacterEncoding("utf-8");
            PrintWriter out = resp.getWriter();  
            out.println("<html>");  
            out.println("<head>");  
            out.println("<title>Hello World</title>");  
            out.println("</head>");  
            out.println("<body>");  
            out.println("<h1>大家好,我的名字叫Servlet,我是通过注解生成的</h1>");  
            out.println("</body>");  
            out.println("</html>"); 
    }

}
  • 修改 SpringBootSampleApplication
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@SpringBootApplication
@ServletComponentScan
public class SpringBootSampleApplication {


    public static void main(String[] args) {

        SpringApplication.run(SpringBootSampleApplication.class, args);

    }
}

  • 结果如图

这里写图片描述

完!

猜你喜欢

转载自blog.csdn.net/qq_17639593/article/details/80490187