java基础2(二)
Servlet


注意: servletConfig可以获取配置文件(xml文件)中配置的servlet对象的初始化参数。

url-pattern

缺省servlet

注意:tomcat目录下有一个默认web.xml文件,当部署项目时默认读取项目下的web.xml文件,如果读取不到则会到全局web.xml中寻找。全局中配置默认缺省servlet和jspServlet。
ServletContext


servletContext三个作用
- 获取初始化参数(不重要,忽略)
- 获取web中任何资源的路径
![]()
-
实例:如下所示,a.txt,b.txt, c.txt都是可以获取的。d.txt无法获取是因为其没有发布到tomcat下。

补充: classpath即src下的java文件编译后的classes文件夹目录下。

3.域对象


Response

设置响应信息
通过writer响应文本信息

注意:setContentType是设置response查询码表和设置头的两个结合。
响应图片

文件下载

代码实例:
前端:

后台:


文件下载中文文件名乱码


如上代码: 因为getMimeType和getRealPath不需要对文件名解码,因为不在网络上传输,所以不需要解码,所以直接使用文件名字符串即可。但是setHeader(“Content-Disposition”“attachmetn;filename=”+filenameEncoder)这段代码需要在网络上传输并通过浏览器默认解码,所以需要使用文件名进行解码。
Request
- 请求转发
当servlet1无法解决这个问题是,但是servlet2可以解决,那么就调用请求转发.让servlet2处理并返回.


2.request中文乱码
原因分析及解决:


解决代码:

Cookie和session
概念:会话技术就是一个解决记录客户端状态的技术

图:

Cookie技术

设置cookie携带的条件

代码示例:

Session

图示:


Jsessionid持久化---手动创建一个JSESSIONID持久化的cookie即可让jsessionid持久化磁盘,原理是jsessionid只是一个cookie,即让cookie持久化.

ThreadLocal
Threadlocal为每个线程创建了一个副本,这样可以存储全局变量.

使用threadlocal

事务



监听器Listenner

- servletContextListener使用

使用监听器:

这样就可以观察到当servletContext创建时会打印出”context创建了......”
作用:

B.比如加载spring的配置文件: 就是通过配置监听器加载配置文件的.

C.执行定时任务

其余5个监听器与以上同理
2.6+2中的2监听器

绑定与解绑监听器

使用方法:
1.将放到session中的对象实现监听器,不需要配置到web中,因为此对应使用时自己进入到内存中.

2.创建servlet放入session中:

存入Session中的对象的盾化与活化
使用方法:
- 被盾化与活化的对象实现对应监听器

2.对象活化
盾化和活化时机:默认是服务器正常关闭时,存储在session中的对象(实现了盾化活化接口)会自动盾化到文件中. 当服务器启动后,再次调用servlet从session取出对象时,会被活化.
也可以配置文件配置对象盾化和活化的时机.
邮件发送
邮件发送过程

Filter过滤器

过滤器实例
- web.xml中配置过滤器,/*代表过滤所有servlet

2.Filter类

3.servlet类

Filter图解
: filter1和filter2哪个先执行和mapping的顺序有关系

Filter配置
1.urlmap

2.Dispatcher

Filter作用

自动登录分析

posted on 2019-03-31 12:21 zhulibin2012 阅读(159) 评论(0) 收藏 举报

浙公网安备 33010602011771号