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作用
自动登录分析
java基础2(二)的更多相关文章
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
- java基础(二章)
java基础(二章) 一,变量 1.变量是内存中的一个标识符号,用于存储数据 2.变量命名规则 l 必须以字母.下划线 _ .美元符号 $ 开头 l 变量中,可以包括数字 l 变量中,不能出现特 ...
- Java基础十二--多态是成员的特点
Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println( ...
- java基础-多线程二
java基础-多线程二 继承thread和实现Runnable的多线程每次都需要经历创建和销毁的过程,频繁的创建和销毁大大影响效率,线程池的诞生就可以很好的解决这一个问题,线程池可以充分的利用线程进行 ...
- JAVA基础(二)—— 常用的类与方法
JAVA基础(二)-- 常用的类与方法 1 Math类 abs ceil floor 绝对值 大于等于该浮点数的最小整数 小于等于该浮点数的最大整数 max min round 两参数中较大的 两参数 ...
- Java实习生常规技术面试题每日十题Java基础(二)
目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...
- Java基础系列二:Java泛型
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.泛型概述 1.定 ...
- Java 基础(二)| 使用 lambad 表达式的正确姿势
前言 为跳槽面试做准备,今天开始进入 Java 基础的复习.希望基础不好的同学看完这篇文章,能掌握 lambda 表达式,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆. 一.什么是 ...
- Java基础(十二)--clone()方法
Clone在Java中就是用来复制对象,通过分配一个和源对象相同大小的内存空间,然后创建一个新的对象,那么他和=的区别在哪? 通过=实现对象拷贝: @Data @NoArgsConstructor @ ...
- Java基础教程——二维数组
二维数组 Java里的二维数组其实是数组的数组,即每个数组元素都是一个数组. 每个数组的长度不要求一致,但最好一致. // 同样有两种风格的定义方法 int[][] _arr21_推荐 = { { 1 ...
随机推荐
- js备战春招の四のDOM
通过js查找html元素的三种方法: 1.通过id找到html元素. 2.通过标签名找到html元素. 3.通过类名找到html元素. DOM HTML document.write(); 直接写入h ...
- Facebook token更新
How to refresh Facebook access token python代码: 可以用vs code来运行,依赖python2.*,如果使用python3.*可能会出现部分包不兼容 sh ...
- HttpClient throws TaskCanceledException on timeout
error msg: HttpClient throws TaskCanceledException on timeout HttpClient is throwing a TaskCanceledE ...
- Spring定时任务@Scheduled注解使用方式
1.开篇 spring的@Scheduled定时任务相信大家都是十分熟悉.最近在使用过程中发现了一些问题,写篇文章,和大家分享一下.结论在最后,不想看冗长过程的小伙伴可以直接拉到最后看结论. 2.简单 ...
- 跨域获取后台日期-ASP
最近所有的计划都被打乱,生活节奏也有些控制不住,所以在自己还算清醒的时候,把之前一个小功能写下来,对其它人也有些帮助. 需求前景:需要用AJAX跨域获取后台服务器日期. 1.分析需求: 在这个需求中, ...
- 无法添加注解@Resource
Spring项目中缺少javax.annotation包的依赖
- python小技巧---打印出不同颜色的输出
在调试代码时打印常常一种颜色,找个东西真的是很难,在一次听金角大王的视频中听到了个方法,也是喀什使用了,本来不打算做记录了,可是稍微有几天不用,还得翻之前的代码,找着也是听麻烦的,现在在这里做个记录 ...
- Cocos Creator学习一:学习目录以及v2.0 必须关注的网址
学习目录: <Cocos Creator学习二:查找节点和查找组件> <Cocos Creator学习三:生命周期回调函数> <Cocos Creator学习四:按钮响应 ...
- 搭建日志收集系统时使用客户端连接etcd遇到的问题
问题: 在做日志收集系统时使用到etcd,其中server端在linux上,首先安装第三方包(windows)(安装过程可能会有问题,我遇到的是连接谷歌官网请求超时,如果已经出现下面的两个文件夹并且文 ...
- 一张图了解Spring Cloud微服务架构
Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构.Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟.经得起实际考验的服务框架组合起来 ...