17_servletFilterListenerAllDemo
过滤器配置文件顺序
运行ServletForFilterChain.java时,得到的结果是
即先过滤器01,02,再到全过滤器
查看配置文件,顺序也是先01,02,后全过滤器那么:
当多个多虑器的url-pattern相同时,那么多个过滤器就形成了一个过滤器链,其执行规则是遵循xml文件过滤器链中自上而下配置的原则而进行
存在的问题
将全过滤器AllFilter的配置放到过滤器链前时,均可正常显示,其显示结果为
即全过滤器 ,01,02
但是将之前的操作撤销,回到过滤器AllFilter放到过滤器链之前,运行后发现,出现了乱码!
response.setContentType("text/html;charset=utf-8");
在全过滤器中有该条语句,表明服务器端向客户端发送解析传过来的文件的格式以及字符编码。如果一开始就是AllFilter处于在最前面是不会出现乱码问题的,而将AllFilter放在过滤器链后面出现乱码也可以理解,只需要在第一个过滤器里面添加上述语句即可。但问题在于,第一次打开该包时,全过滤器的配置文件是放在过滤器链配置文件的后面,且没有出现乱码的情况!
javabean规范
在很多的包里都有,仅在此进行记录。网上说的比较复杂,但无外乎:
- 该类为公共类
- 提供有参构造函数时也需要有提供无参构造函数
- 类变量必须私有化
- 给所有类变量提供set、get方法
- 方法采用驼峰命名法
18_jspBasic
jsp的作用
代替Servlet回传html页面的数据
out和response的区别
代码块中的顺序与服务器解析出来的顺序不同:
两个输出流各自有各自的缓冲区,而当jsp页面所有代码执行后会做如下两个操作:
1、out.flush(),会把ot缓冲区的数据追加到response缓冲区后
2、会执行response的刷新操作,将数据写给客户端
我们写1,2,3,4顺序排列,提前使用out.flush进行验证:
得到的结果是