java web 开发涉及到多线程了么?

我的理解是:tomcat 服务器采用非阻塞机制,对于每一次网络访问请求都是开一个新的线程进行处理,当有多个请求访问相同的资源的时候是不是就已经涉及到了多线程的内容?是不是就要考虑线程安全等的问题?还是说servlet容器已经把这些问题处理好了,不用过多的担心?(ps:c币不多,请各位大神见谅。)

6个回答

无可质疑,当然涉及到了,就比如hibernate中的数据库事物控制,为什么要控制,不就是要保证数据的时实准确性,保证二级缓存中的数据可以和数据中的数据
保持一致,事物控制就是解决多线程并发问题,解决资源唯一性,还有spring中的事物控制也是如此啊,反正涉及到数据库的一般框架都有多线程的处理事物,要不然谁能保证我的到的数据是真的,你去银行查账单当然要看到最新的数据。

如果你访问的是类的静态变量,或者操作系统的线程不安全的例程,你还是需要同步。但是一般jsp页面上的对象,都是实例变量,java类库大部分的调用也是线程安全的,那就没关系。

同步需要锁机制和线程阻塞

必须涉及到;
在不同用户同时进行同样的操作时,既要保证效率,又要保证数据的正确性,这就要用到多线程;
例如 多窗口售票

必须涉及到;并发访问中线程不安全的变量、数据的不致性问题,都需要用到多线程的锁与线程的同步

当变量是局部变量的时候就不存在安全隐患,当变量需要多线程共享的时候,才会考虑安全隐患,线程同步,多线程通信,所以加入有10个线程,我每个线程里面都写个for(int i=0;i<100;i++) System.out.println(i);那么这时候各个线程之间的i相会不影响,本身就保证原子性,再比如,抢票,票数是一定的,所以票数一定是要共享的,这时候,就必须进行加锁操作,保证变量的原子性,另外,我们对数据的操作一定要让别的线程知道我对数据操作了,所以要保证可见性,即某一线程对数据进行操作对另外一个线程是可见的
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
这是涉及到进程间通信的么?
我写了一个猜数字的游戏,现在想在猜数字运行的同时,运行另外一个程序,这个程rnrn序可以自动试猜数字并分析(因为猜数字在每猜一组数字后都会给出相对位置和数字rnrn都符合的数的个数以及相对位置不符合但数字符合的数的个数,例如随机生成的数为rnrn6723,而输入的为6731,那么相对位置和数字都符合的数的个数为2(即6和7两个)rnrn相对位置不符合但数字符合的数的个数为1(即3))我想问的是,怎样使这个程序向rnrn猜数字游戏发送试猜的数字并得到返回的信息呢?这是涉及到进程间通信的么?rn//////////////////////////////////////////////////////////////////////////
Web dynpro 开发有前途么?
现在在公司做了一年的 Web dynpro for java的开发。个人感觉接触面很窄。像 portal,xi 等深点的技术都接触不到。现在想装学abap。各位能给点意见么?
java多线程web服务器
java 多线程和服务器的源码,用于web服务器的java多线程控制
Java 多线程web服务器
Java 多线程web服务器 文档等Java 纯Java 另有Java 电影管理系统 邮件索取
java Web多线程
轻松 学java 电子书 教学
关于JAVA论坛开发中涉及到的问题
我想做一个最基本的论坛,它包含发帖,回复等这些论坛基本功能,需要几张表啊,求解答
CAA 开发涉及到的全局函数
CATIA二次开发CAA相关资料,方便学习与研究,对CATIA进行高效的二次开发
Web 里面运用多线程,有意义么?
Web 里面运用多线程,有意义么?
JAVA 开发 Swing与多线程
JAVA 开发 Swing与多线程 JAVA 开发 Swing与多线程
java web 开发
java web 开发
JAVA WEB 开发帮助文档
JAVA、PHP、JS、HTML、XML、CSS、WEB CHM工具手册,各种帮助文档
java 开发 web 应用程序
大鹏一日同风起,扶摇直上九万里 java 开发 web 应用程序 目录结构 应用程序目录 |-WEB-INF |- web.xml 部署描述符 ( 配置文件 ) |- classes 放置 java 编译好的 class 文件 |- lib 放置 第三方的 jar 包(例如 mysql 的驱动等) 用 java 代码显示...
Java Web 开发
JSP 入门 开发文档 全面清晰的介绍JSP网站的开发,适合JSP程序员阅读。
Java Web整合开发
《Java Web整合开发进阶100例》PDF 下载
java web 开发详解
Java 的 Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向抽象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。 JSF   优点:   Java EE标准,这意味着有很大的市场需求和更多的工作机会   上手快速并且相对容易   有大量可用的组件库   缺点:   大量的JSP标签   对REST和安全支持不好   没有一个统一的实现。既有SUN的实现,又有Apache的实现——MyFaces。 Spring MVC   优点:   对覆盖绑定(overriding binding)、验证(validation)等提供生命周期管理   与许多表示层技术/框架无缝集成:JSP/JSTL、Tiles、Velocity、FreeMarker、Excel、XSL、PDF 等   便于测试——归功于IoC   缺点:   大量的XML配置文件   太过灵活——没有公共的父控制器   没有内置的Ajax支持 Stripe   优点:   不需要书写XML配置文件   良好的学习文档   社区成员很热心   缺点:   社区比较小   不如其他的项目活跃   ActionBean里面的URL是硬编码的 Struts 2   优点:   架构简单——易于扩展   标记库很容易利用FreeMarker或者Velocity来定制   基于控制器或者基于页面的导航   缺点:   文档组织得很差   对新特征过分关注 Tapestry   优点:   一旦学会它,将极大地提高生产率   HTML模板——对页面设计师非常有利   每出一个新版本,都会有大量的创新   缺点:   文档过于概念性,不够实用   学习曲线陡峭   发行周期长——每年都有较大的升级 Wicket   优点:   对Java开发者有利(不是Web开发者)   页面和显示绑定紧密   社区活跃——有来自创建者的支持   缺点:   HTML模板和Java代码紧挨着   需要对OO有较好的理解   Wicket逻辑——什么都用Java搞定
java web 开发配置
我在用 Jbulider 开发 web项目时,这样 配置才能在 运行调试时,在IE中就可以看到我做的效果呢 ?? 还有 怎样设置才能 把我做的 东西 打包成 .war 文件呢?
java web 开发概述
一、结构: 按照是否需要访问网络,[color=red]程序[/color]可分为网络程序和非网络程序。其中网络程序又可分为:B/S结构和C/S结构。 C/S指客户端和服务器模式。客户端需要安装一个程序,该程序负责与服务器进行数据交换,一般的网络程序都是C/S结构的。如:QQ、MSN等。 B/S指浏览器/服务器模式.一般的网站都是B/S结构的,如:百度。基于该结构的程序又称web应用程序。 ...
JAVA Web 开发请教!
大家好,我工作有几年了以前一直在做c/c++方面的开发,包括单片机、设备驱动程序、虚拟现实、window桌面应用程序开发开发过几十个com组件!做过集群,对硬件软件有一定了解!根据公司情况,我打算转向去搞java Web开发,开发大型网站!可是这些年一直没有搞过!相关的知识储备为0!目前我仅仅明白java基础、http协议、html语言、css基础!js、jsp、struct、spring、hibernate都没有用过!但是我在地铁项目中配置过服务器集群,对Tomcat配置文件有点了解!weblogic、glassfish、appache都不会用。另外我数据库仅用过Access、以及SQL2005!Oracle、DB2、MySQL均没有用过!rn请给位java高手给我指教!以我现在的条件,我还欠缺什么技术以及学习相关技术的顺序!指导我能快顺上手去开发大型Web项目!谢谢!rn
java web 开发登录
The server encountered an internal error () that prevented it from fulfilling this request.rnorg.apache.jasper.JasperException: An exception occurred processing JSP page /form/login.jsp at line 7rnrn4: rn5: rn6: rn7: <bean:message key="message.system.ui.loginform.title"/>rn8: rn9: rn10: rnrnrnStacktrace:rn org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)rn org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)rn org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)rn org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:717)rnrnrnroot cause rnrnjava.lang.NullPointerExceptionrn org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1161)rn org.apache.struts.taglib.TagUtils.message(TagUtils.java:1024)rn org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:224)rn org.apache.jsp.form.login_jsp._jspx_meth_bean_005fmessage_005f0(login_jsp.java:113)rn org.apache.jsp.form.login_jsp._jspService(login_jsp.java:79)rn org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:717)rn org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)rn org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)rn org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:717)rnrn这么解决
java web 开发的小问题。。。
需要JDK,Myeclipse,Tomcat,MySQL.Oracle 但是老师让我们安装了 plsql 和Tomcat 这有区别吗?
Java Web 开发项目源码
Java Web 项目开发源代码资源文件 在线考试系统完整代码 深入体验Java Web开发
JAVA WEB 开发详解
本书共分4部分,从XML、Servlet、JSP和应用的角度向读者展示了JAVA web开发中的各种技术
Java Web Structs2开发
Java Web Structs2开发
java web 开发实例
本案例使用Servlet+jsp制作,用MyEclipse和Mysql数据库进行搭建,适合新手学习,超级详细,内含笔记与详细实现步骤
java 开发web service
请问各位大侠,使用java开发web service 最好的参考书是哪本?
java web 开发乱码问题
中文乱码是每一位初学者头疼的问题。 一、编码 常用中文编码有GB2312、GBK、UTF8。如下以utf8为例说明编码统一问题。   二、统一JSP页面的编码    对初学者来说JSP出乱码是很正常的一件事,解决办法也相对简单:     a.在jsp页面头部加入&amp;lt;%@ page contentType=”text/html; charset=utf-8″ %&amp;gt;    b.在...
Java web 开发
我是一名大三学生,最近老师让用Java web 开发一个食堂售饭系统,就是那种用一卡通的系统。但是老师对Java web讲的很少,我不知道从何下手,应该借一本什么书籍看,还有需要安装什么软件,希望各位前辈给予指点
JAVA WEB 开发
各位大侠 小弟 初学java,在做好了登录以及提交的界面之后,连接数据库,myEclipse 返回了一个错误,希望各位帮帮忙,实现提交数据到数据库的保存,截图如下,谢谢。rn[img=https://img-bbs.csdn.net/upload/201403/20/1395283682_324945.png][/img]rn[img=https://img-bbs.csdn.net/upload/201403/20/1395283750_98619.png][/img]rn[img=https://img-bbs.csdn.net/upload/201403/20/1395283835_311821.png][/img]
java web 开发
一中新型的编写web程序的方法 ,使用jython实现简单WEB应用,例如servlets, web start, and WSGI.等
java web 开发的电子书
java web 开发的电子书,其中包含有第1章 背景知识简介,第2章 Java开发环境及开发工具,第3章 HTML相关技术基础知识,第4章 JSP技术基础知识,第5章 Servlet技术基础知识
JAVA web 开发源代码
JAVA web 开发源代码 JAVA web 开发源代码
Java Web 整合开发
java web 基础知识详解,spring struts2 hibernate 3大框架讲解及整合 项目实战
java web 怎么开发
各位高手,我最近在学java web开发,看了一些视频但实际做起来又不知道从何下手,由于没有经验自己很难想象一个系统应该做成什么样,实现什么功能,页面怎么设计等等, 所以想问一下各位有没有什么好的办法,或者哪里有视频教我一步一步的开发WEB,谢谢
JAVA web 开发错误
Spring2.0+struts1.2+hibernate报错,我访问的时候浏览器报错message No action instance for path /person could be createdrnrndescription The server encountered an internal error (No action instance for path /person could be created) that prevented it from fulfilling this request.rn大家帮看看,我实在是找不出来了!第一次整合这三个,先是包冲突,又是其他,反正是好多错,弄的我都没信心学习了!代码如下:spring部分配置文件:rnrn rn rn rnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrnstrut配置文件:rnrnrn rnrn rn rn rnrn rn rnrn rnrn rnrn rn rn rn rnrn rnrn rnrn rnrnrnrnaction代码:rnpublic class PersonAction extends ForumForm rn private IPersonService personService;rn rn public ActionForward list(ActionMapping mapping, ActionForm form,rn HttpServletRequest request, HttpServletResponse response) rnrn return this.initAdd(mapping, form, request, response);rn rnrn public ActionForward initAdd(ActionMapping mapping, ActionForm form,rn HttpServletRequest request, HttpServletResponse response) rn PersonForm personForm = (PersonForm) form;rn personForm.setTitle("用户注册");rnrn return mapping.findForward("add");rn rnrn public ActionForward add(ActionMapping mapping, ActionForm form,rn HttpServletRequest request, HttpServletResponse response) rn PersonForm personForm = (PersonForm) form;rn personForm.setTitle("用户注册");rnrn Person person = personForm.getPerson();rn person.setIpCreated(request.getRemoteAddr());rn person.setIpLastActived(request.getRemoteAddr());rn person.setDateCreated(new Date());rn person.setDateLastActived(new Date());rnrn if (person.getAccount() == nullrn || person.getAccount().trim().length() == 0) rn request.setAttribute("message", "请输入帐号");rn return this.initAdd(mapping, form, request, response);rn rn if (person.getPassword() == nullrn || person.getPassword().trim().length() == 0rn || !(person.getPassword().equals(personForm.getPassword()))) rn request.setAttribute("message", "两次密码输入不一致");rnrn return this.initAdd(mapping, form, request, response);rn rn personService.create(person);// 保存到数据库rn PersonUtil.setPersonInf(request, response, person);// 将注册信息写入sessionrn request.setAttribute("message", "注册成功");rn return new ActionForward("success", "/form/person/success.jsp", false);rn rnrn public IPersonService getPersonService() rn return personService;rn rnrn public void setPersonService(IPersonService personService) rn this.personService = personService;rn rnrnForumAction父类是继承的DispatchAction主分发器,应该不会错就不贴了!各位大虾帮帮我!要不我真崩溃了!
java web 开发脚本语言
为了提高WEB项目的整体性能,提高人机交互的友好界面,网页的脚本语言是很有用处的,有的时候可以解决很大的难题或提高程序的性能和应用性。 rnrn网页脚本语言的执行都是在客户端执行的,速度很很快,并且大多的操作与服务器没有交互运算,所以在一些应用中非常理想。在设计WEB项目的应用中,网页的脚本语言起着不能忽视的作用,所以如果设计WEB项目的应用中,对JavaScript应有一定的了解。rnrnJavaScript是一种基于对象(Object Based)和事件驱动(Event Driven)并具有安全性能(Secure)的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它具有以下几个基本特点:rn1.它是一种脚本编写语言rnJavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个易的开发过程。 rn它的基本结构形式与C、C++、VB十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。 rn2. 基于对象的语言。rnJavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。 rn3.简单性rnJavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计, 从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。 rn4.安全性rnJavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。 rn5. 动态性rnJavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应.rn文章转载自http://www.shinehost.cn/academe/index.aspx。
Java Web进阶开发
通过一个在线用户,访客管理的项目,让你对listener有更深的了解,对session,application的理解更进一步。主要课时分为以下几个方面:rn1.需求分析rn2.项目数据库初始化模块实现rn3.监听器基本原理及访客到达的处理rn4.Session结束访客离开网站的处理rn5.用户网站浏览轨迹rn6.用户登录处理及处理用户重复登录rn7.用户访问记录的分页显示rn8.日志组件log4j和commons -logging的使用
java web,开发注意事项
导出的jar如何让springMVC能扫描到? 开发中发现,打包成jar然后再导入到项目中springMVC扫描不到,于是查找资料终于解决了这个问题。 怎么导出jar? 将jar配置到项目? 新建一个文件夹用于存放jar的 然后选择要设置的jar,点击finish就完成了,重启下server就可以访问了。
java能开发游戏么?
有什么相关的资源?不要applet的那种
java可以开发驱动程序么?
最近看到一个文档,有些疑惑。当然,本人不搞驱动,求高手指教rnOmniDriver was created in the Java environment and includes native libraries for select Windows, Macintosh and Linux operating systems.
java web 开发实验
有具体代码及实现,这是我们做的实验,老师给的资料,大家可以参考下
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件