java 物联网项目_物联网工程综合实践-JAVA WEB开发.ppt
物联网工程综合实践-JAVA WEB开发
* * * * * * * * * * * * * * * 在 Servlet 接口的 service(ServletRequest req, ServletResponse res)方法中有一个ServletRequest类型的参数。ServletRequest类表示来自客户端的请求。当Servlet容器接收到客户端要求访问特定Servlet的请求时,容器先解析客户端的原始请求数据,把它包装成一个ServletRequest对象。当容器调用Servlet对象的service()方法时,就可以把ServletRequest对象作为参数传给service()方法。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 通过两个浏览器同时访问HelloServlet1 两个线程同时操纵HelloServlet1对象的clientName实例变量 导致并发问题的操作时序 两个线程各自操纵HelloServlet对象的clientName局部变量 public class AdderServlet1 extends GenericServlet{ private int sum=100; //sum为实例变量 public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException { int increase=Integer.parseInt(request.getParameter("increase")); response.setContentType("text/html;charset=GB2312"); /*输出HTML文档*/ PrintWriter out = response.getWriter(); out.println("
AdderServlet"); out.println(""); out.println(sum+"+"+increase+"="); try{ Thread.sleep(3000); //特意延长响应客户请求的时间 }catch(Exception e){e.printStackTrace();} sum+=increase; out.println(sum); out.println(""); out.close(); //关闭PrintWriter}} http://localhost:8080/helloapp05/adder1?increase=100 解决并发问题的方案 (1)根据实际应用需求,合理决定在Servlet中定义的变量的作用域,变量到底为实例变量,还是局部变量,是由实际应用需求决定的。 (2)对于多个线程同时访问共享数据而导致并发问题的场合,使用Java同步机制对线程进行同步。 synchronized{…} Synchronized关键字 Synchronized关键字的一个使用方式是用于方法上,让方法的范围(scope)内都成为被同步化区域,如: Public synchronized void setNameAndID(){ = name; this.id = id; count++; } Synchronized关键字 被标示为synchronized的方法就成为被同步化区域的一员,当线程执行某个对象的被同步化方法时,线程会在对象上得到一个锁定,不让其他的线程来执行这些区域。其他线程必须等当前线程执行完被同步化方法,并解除对对象的锁定后,才有机会取得对象上执行方法的权利。 Q&A 本讲结束 ! * * * * * * * * * * * * * * * * * * * * * GenericServlet类实现了Servlet接口中的init(ServletConfig config) 初始化方法,GenericServlet类有一个ServletConfig类型的私有实例变量config,当Servlet即使得GenericServlet对象与一个ServletConfig对象关联。 GenericServlet类容器调用GenericServlet的init(ServletConfig config)方法时,该方法使得私有实例变量 config 引用由容器传入的
java 物联网项目_物联网工程综合实践-JAVA WEB开发.ppt相关推荐
- java达内项目_达内IT学院举办Java互联网架构师项目峰会
12月19日,由达内IT学院主办的"Java互联网架构师项目峰会"在北京成功举办.本次活动是在达内IT学院成立.Java互联网架构课程全面升级之后的首场全国性的项目峰会.活动现场, ...
- 品达物流TMS项目_第6章 数据聚合服务开发(pd-aggregation)
品达物流TMS项目_第6章 数据聚合服务开发(pd-aggregation) 文章目录 品达物流TMS项目_第6章 数据聚合服务开发(pd-aggregation) 第6章 数据聚合服务开发(pd-a ...
- Java毕设项目共享充电宝系统(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目共享充电宝系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webs ...
- Java毕设项目线上教学平台(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目线上教学平台(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webst ...
- Java毕设项目阿博图书馆管理系统(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目阿博图书馆管理系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(We ...
- Java毕设项目大学生创业众筹系统(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目大学生创业众筹系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(We ...
- Java毕设项目师生健康信息管理系统(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目师生健康信息管理系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(W ...
- Java毕设项目保险公司风险测评管理系统(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目保险公司风险测评管理系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX ...
- Java毕设项目电影评论网站系统(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目电影评论网站系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...
- Java毕设项目门诊管理系统补录(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目门诊管理系统补录(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...
最新文章
- 二十四、TextCNN的原理和实现
- VS2010 创建WindowsService服务
- python 单链表是否有回路_第5章 第1节 链表
- 学历全靠编,融资靠忽悠?网传“包养7个女主持”的金融大佬被揭穿了
- Nginx-1.6.2更改端口
- 转载一下如何联系口语
- 数据结构课程设计——通讯录制作
- 机器人卫士密码箱密码忘了怎么办_幼儿园来了“晨检”机器人卫士
- 【Gsutil】使用手册
- smartbi问题_SAP BO的五大尴尬,Smartbi就是HANA用户的“菜”
- 台式计算机怎么加一个硬盘,如何给台式机添加硬盘?给电脑添加硬盘的方法
- bam文件读取_把bam文件读入R,并且转为grange对象
- 计算机相关缩略语,计算机缩略语精选
- (01)ORB-SLAM2源码无死角解析-(55) 闭环线程→计算Sim3:总体流程讲解ComputeSim3()
- 操作系统——进程管理(一文弄懂进程间的那些事)
- loadrunne-- Analysis 分析器
- 2021年R2移动式压力容器充装考试内容及R2移动式压力容器充装模拟考试
- 阿里巴巴Java面试题锦集
- 如何做软件自动化测试?常规自动化测试方案模板流程
- 局域网下利用VNC进行远程操控