第一种,新建一个srpingboot项目,在创建时添加web支持。
然后,创建一个MyServlet类。
package com.example.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(urlPatterns = "/hehe") //访问hehe这个路径,就会调用doget和dopost public class MyServlet extends HttpServlet { //继承HttpServlet类,并复写doget和dopost这两个函数 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().println("my Springboot Servlet-1"); resp.getWriter().flush(); resp.getWriter().close(); } @Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); } }
然后,需要在主入口函数前加上一句 @ServletComponentScan("com.example.servlet")让springboot框架扫描到servlet的类!
这里一共用到两个注解,一个是WebServlet和@ServletComponentScan()。
第二种,新建一个springboot项目,在创建时添加web支持。然后,也是创建一个MyServlet类,和上面一样,只是这次再多建一个配置类,在配置类里注册相应的Servlet类,然后就可以调用这个类了。
package com.example.config; import com.example.servlet.MyServlet; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration//该注解将此类定义为一个配置类(相当于一个xml配置文件) public class ServletConfig { // 这里的@Bean相当于xml文件中的 // <beans> // <bean id="" class=""> // </beans> @Bean public ServletRegistrationBean myServletRegistrationBean(){ ServletRegistrationBean servletRegistrationBean=new ServletRegistrationBean(new MyServlet(),"/hehe");
//这里也可以改成以下方式:
//ServletRegistrationBean servletRegistrationBean=new ServletRegistrationBean(new MyServlet());
//servletRegistrationBean.addUrlMappings("/hehe");
return servletRegistrationBean; } }
这里就不是在主程序调用@ServletComponentScan(),而是自己写一个配置类,然后用@Configuration注解配置就可以调用了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具