HTTP本身是无状态的, 如果想要保持用户的状态, 即让一批请求都知道其属于某一个对话, 很显然就需要附带额外的信息. Session是保持客户端信息的一种技术方式, 对于普通的浏览器, 容器会尝试将Session信息放入Cookie中, 对于不支持Cookie的浏览器, 则采用了URL重写的方式,
这一节来看一下容器中的Servlet相关的内容, 包括容器为Servlet提供的配置, 容器环境上下文对象, 以及一些辅助Servlet完成服务工作的内容. ServletConfig ServletContext 监听器 属性 ServletConfig 在上一篇文章里, 提到GenericSer
servlet究竟是什么, 当然首先是一个对象, 来自于javax.servlet (与HTTP相关的在 javax.servlet.http 中), 不过servlet的实现类并不是由我们编写的, 而是由容器的提供商进行编写. 在IDEA里如果创建web.xml并且使用tomcat, 在左侧的外部
2019年初的时候很迅速的过了一遍Java Web, 到现在经过一轮学习和重新补Java基础之后, 发现要进一步学Spring, 没有Java EE的相关知识是不行的, 于是购入了一些书籍, 重新看看Java Web的相关知识. 简单的例子 jsp 使用JSP的简单MVC 简单的例子 首先必须要脱离
花了一个多星期的时间把Java 8 实战过了一遍, 我发现计算机的书, 其实都相当于字典的性质, 只是让你了解有这方面的技术, 真正要用到了, 还是要具体看如何编写. 每本书都是一个字典. 现在就提纲挈领再来过一遍, 然后尽量在之后的代码中, 使用这些新特性 lambda表达式 流 默认方法 Opt
接口中本来只能有抽象方法, 如果有域会变成静态域, 现在接口新增了默认方法, 其实是让接口更加灵活, 也便于在原来的类的基础上进行扩展出一套新的体系. Java 8 接口的两大变化 一是允许在接口内声明静态方法, 二是一个新功能:默认方法, 可以指定接口方法的默认实现. 一言以蔽之, 原来接口仅仅是
在流中一开始没有讲收集器, 而是学习了规约的一般操作. 这是因为收集器本质上就是一种归约, 但是更加抽象. 收集器 预定义收集器 广义的归约汇总 并行流与ForkJoin框架 收集器 与流搭配使用的收集器是新的java.util.stream.Collector接口, 这个接口本质上也是规约操作,
流 流操作的整体步骤 中间操作 - 筛选和切片 中间操作 - 映射 查找 终端操作 - 归约 基本类型特化的流 其他应用 流 流可以说是操作集合的新方法, 结合前边的函数式编程, 可以更高效的编写代码, 可以看成是高级的迭代器. 流有几个术语: 元素序列, 就是一个流对象提供的接口, 可以访问到一组
Java 8 的新特性主要是三大方面, 一是引入了lambda表达式, 二是引入了Stream流, 三是接口中的默认方法. 在看完了基于Java 5的Thinking in Java之后, 就来补一下Java 8 的知识了. 函数式编程其实在之前自己有看过书学习过, 这里根据《Java 8 实战》这
这个解释器模式可以说是终极的设计模式了. 也就是程序语言本身, 就像Java语言一样, 不管写了什么程序, 底层都在复用Java虚拟机. 有了这个东西, 等于只要修改对于问题的描述(语言), 而编写的解释器是一直可以复用的. Interpreter 模式 例子中使用的类 ProgramNode Co