一,整合 Servlet

  1. 通过注解扫描完成 Servlet 组件的注册
    1.1 编写 servlet
/**
*SpringBoot 整合 Servlet 方式一
*
*<servlet>
* <servlet-name>FirstServlet</servlet-name>
* <servlet-class>com.bjsxt.servlet.FirstServlet</servlet-class>
*</servlet>
*
*<servlet-mapping>
* <servlet-name>FirstServlet</servlet-name>
* <url-pattern>/first</url-pattern>
*</servlet-mapping>
*
*/
@WebServlet(name="FirstServlet",urlPatterns="/first")
public class FirstServlet extends HttpServlet {@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {// TODO Auto-generated method stub
super.doGet(req, resp);
}
}

1.2 编写启动类

/**
* SpringBoot 整合 Servlet 方式一
*
*
*/
@SpringBootApplication
@ServletComponentScan //在 springBoot 启动时会扫描@WebServlet,并将该类实例化
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);
}
}
  1. 通过方法完成 Servlet 组件的注册
    2.1 编写 servlet
/**
*SpringBoot 整合 Servlet 方式二
*
*/
public class SecondServlet extends HttpServlet {@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {System.out.println("SecondServlet..........");
}
}

2.2 编写启动类

/**
* SpringBoot 整合 Servlet 方式二
*
*
*/
@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;
}
}

二,整合 Filter

  1. 通过注解扫描完成 Filter 组件的注册
    1.1 编写 Filter
/**
*SpringBoot 整合 Filter 方式一
*<filter>
* <filter-name>FirstFilter</filter-name>
* <filter-class>com.bjsxt.filter.FirstFilter</filter-class>
*</filter>
*<filter-mapping>
* <filter-name>FirstFilter</filter-name>
* <url-pattern>/first</url-pattern>
*</filter-mapping>
*/
//@WebFilter(filterName="FirstFilter",urlPatterns={"*.do","*.jsp"})
@WebFilter(filterName="FirstFilter",urlPatterns="/first")
public class FirstFilter implements Filter {@Override
public void destroy() {// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2)
throws IOException, ServletException {System.out.println("进入 Filter");
arg2.doFilter(arg0, arg1);
System.out.println("离开 Filter");
}
@Override
public void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub
}
}

1.2 编写启动类

/**
*SpringBoot 整合 Filter 方式一
*
*/
@SpringBootApplication
@ServletComponentScan
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);
}
}
  1. 通过方法完成 Filter 组件的注册
    2.1 编写 Filter
/**
*
*SpringBoot 整合 Filter 方式二
*
*/
public class SecondFilter implements Filter {@Override
public void destroy() {// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2)
throws IOException, ServletException {System.out.println("进入 SecondFilter");
arg2.doFilter(arg0, arg1);
System.out.println("离开 SecondFilter");
}
@Override
public void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub
}
}

2.2 编写启动类

/**
* SpringBoot 整合 Filter 方式二
*
*
*/
@SpringBootApplication
public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);
}
/**
* 注册 Servlet
* @return
*/
@Bean
public ServletRegistrationBean getServletRegistrationBean(){ServletRegistrationBean bean = new ServletRegistrationBean(new
SecondServlet());
bean.addUrlMappings("/second");
return bean;
}
/**
* 注册 Filter
*/
@Bean
public FilterRegistrationBean getFilterRegistrationBean(){FilterRegistrationBean bean = new FilterRegistrationBean(new
SecondFilter());
//bean.addUrlPatterns(new String[]{"*.do","*.jsp"});
bean.addUrlPatterns("/second");
return bean;
}
}

三,整合 Listener

  1. 通过注解扫描完成 Listener 组件的注册
    1.1 编写 Listener
/**
* springBoot 整合 Listener
*
*<listener>
* <listener-class>com.bjsxt.listener.FirstListener</listener-class>
*</listener>
*/
@WebListener
public class FirstListener implements ServletContextListener {@Override
public void contextDestroyed(ServletContextEvent arg0) {// TODO Auto-generated method stub
}
@Override
public void contextInitialized(ServletContextEvent arg0) {System.out.println("Listener...init......");
}
}

1.2 编写启动类

/**
* springBoot 整合 Listener 方式一
*
*
*/
@SpringBootApplication
@ServletComponentScan
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);
}
}
  1. 通过方法完成 Listener 组件注册
    2.1 编写 Listener
/**
* springBoot 整合 Listener 方式二。
*
*
*/
public class SecondListener implements ServletContextListener {@Override
public void contextDestroyed(ServletContextEvent arg0) {// TODO Auto-generated method stub
}
@Override
public void contextInitialized(ServletContextEvent arg0) {System.out.println("SecondListener..init.....");
}
}

2.2 编写启动类

/**
* SpringBoot 整合 Listener 方式二
*
*
*/
@SpringBootApplication
public class App2 {public static void main(String[] args) {SpringApplication.run(App2.class, args);
}
/**
* 注册 listener
*/
@Bean
public ServletListenerRegistrationBean<SecondListener>
getServletListenerRegistrationBean(){ServletListenerRegistrationBean<SecondListener> bean= new
ServletListenerRegistrationBean<SecondListener>(new SecondListener());
return bean;
}
}

四,访问静态资源

  1. SpringBoot 从 classpath/static 的目录
    注意目录名称必须是 static
  2. ServletContext 根目录下

五,文件上传

  1. 编写 Controller
/**
* SpringBoot 文件上传
*
*
*/
//@Controller
@RestController //表示该类下的方法的返回值会自动做 json 格式的转换
public class FileUploadController {/*
* 处理文件上传
*/
@RequestMapping("/fileUploadController")
public Map<String, Object> fileUpload(MultipartFile filename)throws
Exception{System.out.println(filename.getOriginalFilename());filename.transferTo(newFile("e:/"+filename.getOriginalFilename()));Map<String, Object> map = new HashMap<>();map.put("msg", "ok");return map;
}
}
  1. 编写启动类
/**
* SpringBoot 文件上传
*
*
*/
@SpringBootApplication
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);
}
}
  1. 设置上传文件大小的默认值
    需要添加一个 springBoot 的配置文件application.properties

    设置单个上传文件的大小
    spring.http.multipart.maxFileSize=200MB
    设置一次请求上传文件的总容量
    spring.http.multipart.maxRequestSize=200MB

整合servlet、整个filter、整合listener、文件上传相关推荐

  1. springboot 整合 Servlet、Filter、Listener、访问静态资源

    springboot 整合 Servlet.Filter.Listener.访问静态资源 1.引入pom.xml依赖 <dependency><groupId>org.spri ...

  2. Servlet和JSP中的文件上传示例

    使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和HTTP协议中文件上传支持的 ...

  3. SpringBoot(四)-- 整合Servlet、Filter、Listener

    SpringBoot中有两种方式可以添加 Servlet.Filter.Listener. 1.代码注册 通过ServletRegistrationBean. FilterRegistrationBe ...

  4. SpringBoot整合阿里云OSS,支持文件上传、下载、删除、加签等操作

    首先附上OSS基本介绍和官方文档链接:https://help.aliyun.com/product/31815.html?spm=ata.21736010.0.0.25d67536bR4cly 另外 ...

  5. SpringBoot2整合富文本编辑器wangEditor(含文件上传)攻略

    背景 最近要用到一个富文本编辑器,记得遥远的年代,调过Kingeditor.Ueditor...但是那些都很重,,,于是最近经常再留意这件事,直到最近看到一个wangEditor,体验了一下,又轻又好 ...

  6. Servlet中使用getInputStream进行文件上传

    据说古老了点,所以代码比较繁琐,主要用于处理文件的地方太多. 下节用SERVLET3.0的Part进行操作一下. form.html: <!DOCTYPE html> <html&g ...

  7. jsp servlet示例_Servlet和JSP中的文件上传示例

    jsp servlet示例 使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和 ...

  8. Struts2实现文件上传并显示实时进度

    基于浏览器的文件上传,特别是对于通过<input type="file">标签来实现上传的情况, 存在着严重的性能问题,因为用户提交了文件之后,在浏览器把文件上传到服务 ...

  9. Spring Boot基础学习笔记14:实现文件上传功能

    文章目录 零.学习目标 一.文件上传概述 二.实现文件上传功能 (一)创建Spring Boot项目 (二)整合Bootstrap (三)编写文件上传页面 (四)编写项目配置文件 (五)编写文件上传控 ...

  10. Java中的文件上传2(Commons FileUpload:commons-fileupload.jar)

    相比上一篇使用Servlet原始去实现的文件上传(http://www.cnblogs.com/EasonJim/p/6554669.html),使用组件去实现相对来说功能更多,省去了很多需要配置和处 ...

最新文章

  1. python tqdm包_python tqdm库的使用
  2. Oracle中的date与timestamp
  3. 人与计算机猜数伪代码,《计算机和算法》PPT课件.ppt
  4. 重新审视自己和自己的目标
  5. 【英语学习】【WOTD】sequester 释义/词源/示例
  6. 【yarn】INFO ipc.Client Retrying connect to server xxx 8032 Already tried 0 time(s)
  7. jquery中如何获得$.ajax()事件返回的值
  8. Hadoop权威指南(中文版,第2版)【分享】
  9. Linux查看系统版本命令 linux学习教程
  10. IOS学习之路十(仿人人滑动菜单Slide-out Sidebar Menu)
  11. 机器学习、⼈⼯智能、深度学习是什么关系?
  12. SpringMVC注解@RequestParam(转)
  13. 什么是像素格式(色彩采样、色度抽样)RGB 4:4:4、(Limit)RGB 4:4:4、Ycbcr 4:4:4、Ycbcr 4:2:2、Ycbcr 4:2:0又是什么?
  14. 海伦公式c语言double,海伦公式
  15. 【转】javascript实现图片的连续滚动
  16. matlab信道容量函数,一般信道容量迭代算法1
  17. 电脑锁屏壁纸提取方法
  18. Web 应用防火墙如何添加域名
  19. 计算各种面值人民币张数
  20. ZCMU-1635- 超大型 LED 显示屏

热门文章

  1. 【Visual Studio】在VS2012中使用VSXtra
  2. 局域网内数据采集总结(四)
  3. 谁能答对这道题?如有兴趣,请留下算法,呵呵~
  4. 常量指针、指针常量以及指向常量的指针常量
  5. java多态的简单例子_要JAVA的简单例子,继承\多态的,详细讲解运行的每一步
  6. R7-1 正整数A+B (15 分)
  7. python二多分支例题_Python分支语句练习题
  8. mx250是什么_来看看联想小新Pro13 2020款和2019款哪个好?区别是什么?
  9. Python 输入一些数,统计最大值及其出现的频率,求一个数的全部质因数
  10. 删除顺序表中指定值的所有元素(C++,vector)