springboot实战笔记(五)----springboot整合servlet

版权声明:转载请注明出处 https://blog.csdn.net/qq_33223299 https://blog.csdn.net/qq_33223299/article/details/90638297

一 前言

在以前的web.xml方式中,我们是通过以下形式进行配置的:

<servlet>
    <servlet-name>FirstServlet</servlet-name>
    <servlet-class>com.bjsxt.servlet.FirstServlet</servlet-class>
</servlet>

<servlet-mapping>
 <servlet-name>FirstServlet</servlet-name>
 <url-pattern>/first</url-pattern>
</servlet-mapping>

    但是在springboot整合servlet可以通过以下的两种方式,

  •  通过注解扫描完成 Servlet  组件的注册,
  •  通过方法完成 Servlet  组件的注册

pom文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
  </parent>
  <groupId>com.bjsxt</groupId>
  <artifactId>02-spring-boot-servlet</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <!-- jdk1.7 -->
  <properties>
  	<java.version>1.7</java.version>
  </properties>
  
  <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
</project>

二 注解扫描方式

   1 编写servlet类

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


@WebServlet(name="FirstServlet",urlPatterns="/first")
public class FirstServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("FirstServlet............");
	}
}

2..编写启动类

package com.bjsxt;

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

/**
 * SpringBoot整合Servlet方式一
 */
@SpringBootApplication
@ServletComponentScan //在springBoot启动时会扫描@WebServlet,并将该类实例化
public class App {

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

}

三 方法方式

1.编写servlet类

package com.bjsxt.servlet;

import java.io.IOException;

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

/**
 *SpringBoot整合Servlet方式二
 *
 */

public class SecondServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("SecondServlet..........");
	}
	
}

2.编写启动类

package com.bjsxt;

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

import com.bjsxt.servlet.SecondServlet;

/**
 * SpringBoot整合Servlet方式二
 *
 *
 */
@SpringBootApplication
public class App2 {

	public static void main(String[] args) {
		SpringApplication.run(App2.class, args);
	}
	
	@Bean
	public ServletRegistrationBean getServletRegistrationBean(){
		ServletRegistrationBean bean=new ServletRegistrationBean(new SecondServlet(), "/second");
		return bean;
	}
	
}

 

猜你喜欢

转载自blog.csdn.net/qq_33223299/article/details/90638297