java web学习笔记day2
2016-01-13 23:19
281 查看
今天早上去练车,妈的被教练骂了,该死!!!但是自己也有问题,哎不提,所以今天的学习进度有点慢(悔过),但还是应该坚持写一下总结。
今天主要是学习多线程访问时的线程安全,以及Servlet中的ServletContext对象。线程安全这一块等到学习多线程并发的时候才着重学一下。
今天的学习总结{
每个线程共享一个servlet实例变量是(Tomcat对一个servlet只产生一个实例变量)
产生线程安全条件如下{
1.单例
2.实例变量
3.对实例变量进行操作
}
通过对敏感数据进行加锁的方式(一个实例在同一个时间只能有一个线程占用),解决线程安全的问题(就是让)
通过实现SingleThreadModel来解决线程安全问题{
现象:可以达到不重复的要求,但是会出现大小值不确定
该接口如果发现某个线程正在占用该servlet时会创建另一个servlet,违背单例原则,所以废弃
}
ServletContext对象{
重写init()时传入servlet
该对象可以获取该servlet在web.xml配置文件中配置的相应参数
web.xml配置
param-name是键 value是值
作用:
在web.xml中配置相应的问价可以更大程度的史程序维护时,修改时更加灵活
如果重写了init()那么在doXXX方法中用this.getServletConfig()获取ServletConfig会获取不到两者不可兼得
HTTP请求头
content-disposition表示告诉浏览器应该下载 后面的文件 后面的文件名filename传入
}
}
总结一下吧:今天东西不多,能总结的本就不多。哎,今天有点偷懒,认真悔过!!!
今天主要是学习多线程访问时的线程安全,以及Servlet中的ServletContext对象。线程安全这一块等到学习多线程并发的时候才着重学一下。
今天的学习总结{
每个线程共享一个servlet实例变量是(Tomcat对一个servlet只产生一个实例变量)
产生线程安全条件如下{
1.单例
2.实例变量
3.对实例变量进行操作
}
通过对敏感数据进行加锁的方式(一个实例在同一个时间只能有一个线程占用),解决线程安全的问题(就是让)
通过实现SingleThreadModel来解决线程安全问题{
现象:可以达到不重复的要求,但是会出现大小值不确定
该接口如果发现某个线程正在占用该servlet时会创建另一个servlet,违背单例原则,所以废弃
}
ServletContext对象{
重写init()时传入servlet
该对象可以获取该servlet在web.xml配置文件中配置的相应参数
web.xml配置
<init-param> <param-name>email</param-name> <param-value>htc@123.com</param-value> </init-param>
param-name是键 value是值
作用:
在web.xml中配置相应的问价可以更大程度的史程序维护时,修改时更加灵活
如果重写了init()那么在doXXX方法中用this.getServletConfig()获取ServletConfig会获取不到两者不可兼得
HTTP请求头
resp.setHeader("content-disposition", "attachment;filename="+file.getName());
content-disposition表示告诉浏览器应该下载 后面的文件 后面的文件名filename传入
}
}
总结一下吧:今天东西不多,能总结的本就不多。哎,今天有点偷懒,认真悔过!!!
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树