Fork me on GitHub

Leetcode-056-合并区间

Leecode-056-Merge Intervals

思路:分类讨论

题目描述:

给定一个二维数组,其中的元素表示一个区间,返回重叠的区间或者没有重叠的区间

1
2
3
4
5
6
7
Input: [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].

Input: [[1,4],[4,5]]
Output: [[1,5]]
Explanation: Intervals [1,4] and [4,5] are considered overlapping.
阅读更多...

MarkDown语法

MarkDown 语法(快速上手)

简介

Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。

优点:

1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。

2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可

阅读更多...

Spring-00-小结

1、Spring

1.1 简介

  • Spring:春天—->给软件行业带来了春天!
  • 2002,首次推出了Spring框架的雏形:interface21框架!
  • Spring框架即以interface21框架为基础,经过重新设计,并不断丰富内涵,于2004年3月24日,发布了1.0正式版。
  • Rod Johnson,Spring Framework创始人,著名作者。很难想象其学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。
  • spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架。
  • SSH:Struct2+Spring+Hibernate!
  • SSM:SpringMVC+Spring+Mybatis! 阅读更多...

SpringMVC-09-文件上传下载

SpringMVC-09-文件上传下载

  • 文件上传是项目开发中最常见的功能之一 ,SpringMVC 可以很好的支持文件上传

    • 但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作。如果想使用Spring的文件上传功能,则需要在上下文中配置MultipartResolver
  • 前端表单要求:为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data

    • multipart 的表单表示二进制流的形式传送数据
  • 只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器;

  • 文件上传下载的本质:

    • 前端:表单中加一个enctype
    • 后端:封装一个对象来接收上传的文件

注意:上传下载文件只是一个动作,所以如下

  • 因此使用@RestController,无需跳转视图什么的

对表单中的 enctype 属性做个详细的说明:

  • application/x-www=form-urlencoded:默认方式,只处理表单域中的value属性值,采用这种编码方式的表单会将表单域中的值处理成URL编码的方法
  • multipart/form-data:这种编码的方式会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定的文件内容也封装到请求参数中,不会对字符编码。
  • text/plain:除了把空格转换成“+”号外,其他字符都不做编码处理,这种方式适合直接通过表单发送邮件。
1
2
3
4
<form action="" enctype="multipart/form-data" method="post">
<input type="file" name="file"/>
<input type="submit">
</form>
  • 一旦设置了enctypemultipart/form-data,浏览器即会采用二进制流的方式来处理表单数据,而对于文件上传的处理则涉及在服务器解析原始的HTTP响应。

  • 2003年,Apache Software Foundation发布了开源的Commons FileUpload组件,其很快成为Servlet/JSP程序员上传文件的最佳选择。


  • Servlet3.0规范已经提供方法来处理文件上传,但这种上传需要在Servlet中完成。
  • Spring MVC则提供了更简单的封装。
  • Spring MVC为文件上传提供了直接的支持,这种支持是用即插即用的MultipartResolver实现的。
  • Spring MVC使用Apache Commons FileUpload技术实现了一个MultipartResolver实现类:
  • CommonsMultipartResolver
    • 因此,SpringMVC的文件上传还需要依赖Apache Commons FileUpload的组件。
阅读更多...

SpringMVC-08-拦截器

SpringMVC-08-拦截器

1. 简介

  • SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter
    • 用于对处理器进行预处理和后处理
  • 过滤器与拦截器的区别:拦截器是AOP思想的具体应用

过滤器

  • servlet规范中的一部分,任何java web工程都可以使用
  • url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截

拦截器

  • 拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用
  • 拦截器只会拦截访问控制器方法,如果访问的是jsp/html/css/image/js是不会进行拦截的
    • 拦截器对静态资源是不会进行拦截的

注意:

  • 最大的区别:

    • 拦截器只会拦截访问控制器方法(Controller 中的请求)
    • 如果访问的是jsp/html/css/image/js是不会进行拦截的(只拦截controller层的
  • 使用上的区别:

    • 拦截器:实现HandlerInterceptor接口 ,但不必重写里面的方法
    • 过滤器:必须重写三个方法
      • init
      • destroy
      • doFilter
阅读更多...

SpringMVC-Ajax

SpringMVC-Ajax

1. Ajax简介

  • Ajax = Asynchronous JavaScript and XML(异步的JavaScript和XML)

  • Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

  • Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的奇数。

  • 在2005年,Google通过其Google使得Ajax变得流行起来,Google Suggest能够自动帮你完成搜索单词。

阅读更多...

SpringMVC-07-JSON

SpringMVC-07-JSON

1. 什么是 JSON?

  • JSON(JavaScript Object Notation, JS 对象标记)是一种轻量级的数据交换格式,目前使用特别广泛。
  • 采用完全独立于编程语言的文本格式来存储和表示数据。
  • 简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。
  • 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
  • 主要的目的 : 前后端分离,后端需要留出接口,接口需要一种交换的格式
1
2
3
4
为什么没有选择XML呢?
1. 因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,
2. 同时XML标记比数据多,增加了交换产生的流量
3. 而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。这篇文章主要从以下几个方面来说明JSON。

JavaScript语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语法格式:

  • 对象表示为键值对,数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

  • JSON 键值对是用来保存JavaScript对象的一种方式,和JavaScript对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号""包裹,使用冒号 : 分隔,然后紧接着值:
1
2
3
{"name": "Zhuuu"}
{"age": "3"}
{"sex": "男"}
  • JSONJavaScript对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。
1
2
var obj = {a: 'Hello', b: 'World'};        //这是一个对象,注意键名也是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串
阅读更多...
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信