一、Servlet的配置文件式开发
1.创建一个web项目(项目名称为demo),并编写一个Servlet类。例如:FirstServlet extends HttpServlet
2.需要在web.xml中加入以下配置,以便servlet被web容器管理,这里的web容器为tomcat
<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>com.dsgk.servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/firstServlet</url-pattern>
</servlet-mapping>
3.将项目部署到tomcat上,并启动tomcat,客户端浏览器访问路径http://localhost:8080/demo/firstServlet
二、Spring Boot整合Servlet
方式一:通过注解扫描完成servlet组件的注册
1. 编写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;
/**
SpringBoot整合servlet方式一
**/
@WebServlet(name="FirstServlet", urlPatterns="/first")
public class FirstServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("FirstServlet.....");
}
2. 编写启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication
@ServletComponentScan
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
方式二:通过方法完成servlet组件的注册
1. 编写servlet类
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
Spring Boot整合servlet方式二
**/
public class SecondServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("secondservlet.....");
}
}
2. 编写启动类
@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;
}
}
三、总结
Spring Boot整合servlet有两种方式:
方式一:通过注解注册servlet组件
@WebServlet,用于servlet类上,注解中的属性name和urlPatterns分别指定servlet的名称和映射的url路径
@ServletComponentScan,用于启动类上,扫描位于启动类同级包以及子包下被 @WebServlet标注的类
方式二:通过方法注册servlet组件
利用@Bean注解手动注册servlet组件,其中@Bean注解可以用来通过方法实例化一个对象,并将对象交由spring容器管理,作用等同于spring配置文件中的<bean></bean>
标签