第一种方式:
项目目录结构如下
FirstServlet.java如下
package com.example.demo;
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 = “/firstServlet”) //标记为servlet,以便启动器扫描。
public class FirstServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().append("firstServlet");
}
}
下面是主函数的代码
启动后打开浏览器如下
第二种方式:
目录如下
SecondServlet如下
package com.example.demo;
import java.io.IOException;
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 doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().append("secondServlet");
}
}
主函数如下
package com.example.demo;
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 Demo3Application {
public static void main(String[] args) {
SpringApplication.run(Demo3Application.class, args);
}
@Bean //一定要加,不然这个方法不会运行
public ServletRegistrationBean getServletRegistrationBean() { //一定要返回ServletRegistrationBean
ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet()); //放入自己的Servlet对象实例
bean.addUrlMappings("/secondServlet"); //访问路径值
return bean;}
}
启动后打开浏览器
: