您的位置:首页 > 编程语言 > Java开发

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配置

<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 java-web