Servlet学习笔记(一)
时间:2017-12-22 11:26
热度:9966°
评论:0 条

当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init() 方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。
由于常驻内存继而创建新的进程会出现资源的同步互斥现象;
Servlet: 同CGI程序 用来处理当前HTTP server交互数据
测试源码:
web.xml 文件中 指明项目访问路径 servlet-pattren 打开Tomcat 通过多开多个浏览器进行访问查看全局变量i的数值
全局变量在多线程访问时不断改变
需要将多个线程访问的资源加上锁,现在这种做法是给Servlet对象加了一把锁,保证任何时候都只有一个线程在访问该Servlet对象里面的资源,这样就不存在线程安全问题了
synchronized (this) { //Java中每个对象都有一把锁,这里的this指的就是servlet对象 response.setContentType("text/html"); i++; String s=i+""; try { Thread.sleep(100); } catch (InterruptedException e) { // TODO: handle exception e.printStackTrace(); } response.getWriter().write(s); }


捐赠支持:如果觉得这篇文章对您有帮助,请
"扫一扫"鼓励作者!

本文作者:RainFly
文章标题: Servlet学习笔记(一)
本文地址:http://www.rainfly.cn/?post=295
版权声明:若无注明,本文皆为“雨夜轩”原创,转载请保留文章出处。
本文地址:http://www.rainfly.cn/?post=295
版权声明:若无注明,本文皆为“雨夜轩”原创,转载请保留文章出处。

赶紧抢沙发哟!