冷知识,几乎用不到

在spring boot中使用Servlet有两种实现方法;

方法一:

正常创建servlet,然后只用注解@ServletComponentScan

package clc.user.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; /**
* ClassName: FirstServlet<br/>
* Description:spring boot 整合sevlet <br/>
* date: 2019/4/1 4:07 PM<br/>
* <p>
* 正常创建Servlet
* 可以使用@WebServlet注解实现
* 在spring boot启动类加注解@ServletComponentScan,会让spring启动时扫描@WebServlet注解并实例化
*
* @author chengluchao
* @since JDK 1.8
*/ @WebServlet(name = "FirstServlet", urlPatterns = "/FirstServlet")
public class FirstServlet extends HttpServlet { @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println("FirstServlet");
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}

对应的启动类:

@SpringBootApplication
@ServletComponentScan
public class UserServiceApplication { public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
}

----------

方法二:

正常创建Servlet,但不对其进行配置,放到启动类来操作

package clc.user.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; /**
* ClassName: SecondServlet<br/>
* Description:spring boot 整合sevlet <br/>
* date: 2019/4/1 4:07 PM<br/>
* <p>
*
* @author chengluchao
*
* 需要:
* @Bean public ServletRegistrationBean getServletRegistrationBean() {
* ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
* bean.addUrlMappings("SecondServlet");
* return bean;
* }
* @since JDK 1.8
*/ public class SecondServlet extends HttpServlet { @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println("SecondServlet");
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
@SpringBootApplication
public class UserServiceApplication2 { @Bean
public ServletRegistrationBean getServletRegistrationBean() {
ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
bean.addUrlMappings("/SecondServlet");
return bean;
} public static void main(String[] args) {
SpringApplication.run(UserServiceApplication2.class, args);
}
}

最新文章

  1. C/C++程序员常去网站
  2. 程序中保存状态的方式之ViewState
  3. xmpp整理笔记:聊天信息的发送与显示
  4. 遇到tomcat端口被占用问题解决方案
  5. LOB字段存放在指定表空间 清理CLOB字段及压缩CLOB空间
  6. 替换、恢复Html中的特殊字符
  7. BZOJ2140: 稳定婚姻
  8. 调试php的soapCient
  9. This application failed to start because it could not find or load the Qt platform plugin &quot;windows&quot;
  10. linux访问windows共享文件夹的两种方法
  11. Python什么是值或引用函数参数
  12. Linux-day1-pdf课件
  13. java 字符串笔记
  14. 京东618:Docker扛大旗,弹性伸缩成重点 (2015-06-23)
  15. python读取wav文件并播放[pyaudio/wave]
  16. keepalived + lvs
  17. 教你phpstudy如何搭建本地多站点
  18. February 4th, 2018 Week 6th Sunday
  19. (转)深入sql server中的事务
  20. P2231 [HNOI2002]跳蚤

热门文章

  1. gevent 使用踩坑
  2. [暑假集训--数位dp]hdu2089 不要62
  3. 洛谷 [P3265] 装备购买
  4. 【Java TCP/IP Socket】UDP Socket(含代码)
  5. Vim出现:_arguments:450: _vim_files: function definition file not found的问题解决
  6. Docker资源限制实现——cgroup
  7. 一种client同步server数据的方案
  8. TagCanvas - HTML5 Canvas Tag Cloud
  9. Java 兔子问题(斐波那契数列)扩展篇
  10. 一道有关switch-case题目