1.创建maven项目,导入springboot的maven依赖
pom.xml
<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.2.RELEASE</version>
</parent>
<groupId>per.czt.02-spring-boot-servlet</groupId>
<artifactId>02-spring-boot-servlet</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>02spring-boot-servlet</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- spring-boot启动器 -->
<!-- spring-boot就是一些jar包的集合,一共44个启动器 -->
<!-- spring-boot-start-web,支持全栈开发,包括tomcat和springmvc等 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
2.编写servlet
方式一:通过注解扫描完成servlet组件的注册
FirstServlet.Class
package per.czt.servlet;
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;
//web.xml配置servlet
/*
* <servlet>
* <servlet-name>FirstServlet</servlet-name>
* <servlet-class>per.czt.servlet.FirstServlet</servlet-class>
*
* </servlet>
* <servlet-mapping>
* <servlet-name>FirstServlet</servlet-name>
* <url-patten>/first</url-patten>
*
* </servlet-mapping>
*/
//SpringBoot整合servlet
//通过注解扫描完成servlet组件的注册
@WebServlet(urlPatterns="/first",name="FirstServlet")
public class FirstServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Hello,servlet!");
PrintWriter pw=resp.getWriter();
pw.println("Hello,servlet!");
}
}
启动类 App.Class
package per.czt.servlet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
/**
* Hello world!
*
*/
@SpringBootApplication
@ServletComponentScan//在SpringBoot启动时会扫描@WebServlet,并将该类实例化
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class, args);
}
}
方式:通过编写ServletRegistrationBean的方法的方式
SecondServlet.Class
package per.czt.servlet;
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 SecondServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Hello,servlet2!");
PrintWriter pw=resp.getWriter();
pw.println("Hello,servlet2!");
}
}
启动类
package per.czt.servlet;
import javax.servlet.ServletRegistration;
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 App2 {
public static void main(String[] args) {
SpringApplication.run(App2.class, args);
}
@Bean
public ServletRegistrationBean getServletRegistrationBean() {
ServletRegistrationBean bean=new ServletRegistrationBean(new SecondServlet());
bean.addUrlMappings("/second");
return bean;
}
}