没什么好写的,把平时记得tips放上来作为这一章的句号吧!
Servlet
- 在一个组件转发给另外一个组件之前,通过
response
输出的响应内容是没有意义的。在转发之前的通过out对象输出的内容最终不会输出到浏览器,这是由于RequestDispatcher
在转发之前清空了输出缓冲区。但如果在转发之前输出的信息超出了缓冲区,或者调用了out对象的flush()方法,此响应内容已经输出到了客户端(称之为响应信息已提交),此时如果实施转发操作会抛出运行时异常。
数据库
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8"
可以解决中文乱码的问题。- windows控制台保存一个字符到数据类型char(1)的变量中会长度超限,很奇怪。同样的操作用
sqlyog
就不会超过长度。总之控制台总是出问题。 - 查看数据库存储目录——
show global variables like "%datadir%"
EL表达式
- EL表达式不能进行字符串拼接和做函数传递参数, 如
"hello" + ${xxx}
和console.log(${xxx})
都是会报错的。
AJAX
- 服务器发送跳转响应给ajax的话,当前页面是不会跳转的。有点不一样和普通的同步响应。
MAVEN
maven
默认编码是GBK
,所以要在idea
的VMoptions
中设置-Dfile.encoding=GBK
,这样一来中文在控制台打印才不会乱码。
Jackson
- 用
SpringMVC
时,jackson
使用的版本一定要新,不然会报错。亲测,spring5版本时,jackson2.9.0是没有问题的。看来遇到某些奇奇怪怪的bug时,首先考虑版本问题是不二选择。
tomcat
tomcat7
get
请求中如果有中文还是会乱码,只需配置一下<uriEncoding>UTF-8</uriEncoding>
可。
IDEA
- ctrl + n —— 查找类
- ctrl + shift + n —— 查找文件
- ctrl + h —— 显示当前的类继承结构
- ctrl + alt + b —— 显示接口的实现类
- ctrl + q —— 显示方法说明
- ctrl + p —— 显示方法参数
- alt + 7 or ctrl + f12 —— 显示类中所有方法
- ctrl + alt + m —— 提取方法
- ctrl + alt + left —— 返回
数据分片
- 将key作md5运算,以结果最后几位分片
ClassLoader
- 类加载器会加载classpath下文件,需要加载子目录里的文件的话要写文件相对于classpath的相对目录
链接
- 链接静态库的基本单位是obj文件,会根据程序中使用的函数来动态链接obj文件,所以一个obj文件应该大小合适
后记
好久没有学Java了,为了凑个篇数写下这篇文章