`

page指令的isThreadSafe属性

    博客分类:
  • jsp
阅读更多

格式: <%@ page isThreadSafe="true" %>  <%-- Default --%>
      <%@ page isThreadSafe="false" %>


目的: 告诉服务端,你的代码是否线程安全,如果不安全,服务器将阻止并发访问.

注意: 尽量避免这种用法(<%@ page isThreadSafe="false" %>)!

原因有2:第一,某些情况下严重影响系统性能!第二,某些情况下得不到正确的结果!

其他办法还是有的,比如下面一段非线程安全的代码(要求ID唯一):
<%! private int idNum = 0; %>
<%
  String userId = "userID" + idNum;
  out.println("Your id is : " + userId + ".");
  idNum += 1 ;
%>


根本不需要指定isThreadSafe为"false":

<%! private int idNum = 0 ; %>
<%
  synchronized(this){   
    String userId = "userID" + idNum ;
    out.println("Your id is : " + userId + ".");
    idNum += 1 ;
  }
%>


在高业务环境中,上述代码仍然可以获得较好的性能!
并且如果服务器采用实例共享的方案,指定isThreadSafe为"false"还是要失败!
http://spring0303.iteye.com/blog/28185

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    jsp中page指令用法详解

    page指令是JSP指令中最基本的一种,它控制JSP页面转换成Servlet的许多方面。接下来,我们将详细介绍page指令的具体用法及其各种属性。 一、JSP指令概述 JSP指令影响由JSP页面生成的Servlet的整体结构。JSP指令的两...

    Java Web初级编程:JSP 页面元素.pptx

    Page 指令中可以指定多种属性,例如 language、extends、import、session、errorPage、autoFlush、isErrorPage、contentType、buffer、info、isELIgnored、isELEnabled、isScriptingEnabled、isThreadSafe 和 ...

    JSP指令与操作.ppt

    - **isThreadSafe属性**:指示页面是否线程安全,true表示支持多线程请求,false则按顺序处理。 **1.2 include指令** include指令用于动态地包含其他文件的内容,可以是静态HTML或另一个JSP页面,增强代码复用性。...

    JSP指令元素(page指令/include指令/taglib指令)复习整理

    page指令用于设置JSP页面的全局属性,其作用范围涵盖整个JSP文件。下面列出了一些关键的page指令属性: 1. **language**:定义JSP页面所使用的脚本语言,默认是Java。 2. **extends**:指定生成的Servlet类应继承的...

    Servlet与JSP核心编程第2版

    第12章 控制所生成的servlet的结构:jsppage指令 12.1 import属性 12.2 contenttype和pageencoding属性 12.3 条件性地生成excel电子表格 12.4 session属性 12.5 iselignored属性 12.6 buffer和autoflush...

    JSP编译指令page、include详解

    首先,page指令是JSP页面最常用的指令之一,它用于设置页面的相关属性,如下所示: 1. page指令的主要属性及其作用: - extends="package.class":定义JSP页面生成的Servlet类需要继承的父类或实现的接口。默认...

    web开发技术总复习题[汇编].pdf

    7. isThreadSafe属性:page指令的isThreadSafe属性(选项C)用来设定JSP页面是否支持多线程访问。 8. include指令:include指令标签(选项C)用于在JSP页面中静态地插入另一个文件。 9. JSP内置对象:JSP的内置...

    11-page-Directive-Chinese.pdf

    page指令可以控制多个方面,包括但不限于: 1. **导入类**:通过`import`属性指定要导入的类,可以在servlet定义的顶部生成相应的导入语句。 2. **指定MIME类型**:通过`contentType`属性设置页面返回给客户端时的...

    WEB开发 之 JSP指令.docx

    `&lt;%@ page&gt;` 指令用于设置JSP页面的全局特性,它可以定义多种属性,包括但不限于以下: - `language`: 指定脚本语言,默认为Java。例如:`&lt;%@ page language="java" %&gt;` - `extends`: 定义Servlet的超类,允许...

    JSP 复习题

    - isthreadsafe属性指示JSP是否线程安全,默认是true。 - session属性决定页面是否参与HTTP会话。 - errorpage属性指定错误页面。 9. JSP语法要点: - &lt;!-- This file displays the user login screen --&gt;是...

    JSP语法Page指令

    Page 指令  定义JSP文件中的全局属性.  JSP 语法&lt;&#37;@ page [ language=”java” ] [ extends=”package.class” ] [ import=”{package.class | package.*}, …” ] [ session=”true | ...

    jsp语法基础

    1. **page指令**:作用于整个JSP页面,定义了许多与页面相关的属性,这些属性将被用于和JSP容器通信。page指令的语法形式如下: ```jsp &lt;%@ page attr1="value1" attr2="value2" ... %&gt; ``` 在JSP规范中,还...

    网站开发复习题.pdf

    7. **多线程访问属性**:page指令的isThreadSafe属性控制JSP页面是否支持多线程访问,选项C是正确的。 8. **静态包含文件**:include指令标签用于在JSP页面中静态插入另一个文件,选项C描述了这一功能。 9. **JSP...

    jsp详细面试题

    **page指令**用于定义JSP页面的一些全局属性,这些属性对整个页面有效,包括静态的包含文件。但在被动态包含的文件中不可使用。`page`指令可以出现在页面中的任何位置,并且可以在一个页面中多次出现,但每个属性...

    JSP基础知识-期末复习题

    - 一个JSP页面中可以有多个`&lt;%@ page %&gt;`指令,但同一属性只能设置一次,除非是`import`属性,因为它类似Java的`import`语句,可以多次使用。 - `page`指令的作用范围是整个JSP页面,不论它被放在文件的哪个位置。...

    JSP语法格式 简单易懂的语法

    Page指令用于设置整个JSP页面的行为属性,例如指定脚本语言、导入类库等。 - **language**:指定脚本语言,默认为Java。 - **import**:声明要使用的包和类。 - **contentType**:设置页面返回内容的类型及编码方式...

    JSP动作和指令.ppt

    - `isThreadSafe`: 是否支持多线程访问,通常为`"true"`。 - `info`: 提供关于Servlet的信息。 - `errorPage`: 错误页的URL,当发生错误时跳转至此。 - `isErrorPage`: 如果为`"true"`,表示该页面是错误处理...

    2018年3月计算机二级Web考试选择题练习及答案二.pdf

    7. `page`指令的`isThreadSafe`属性:`isThreadSafe`属性可以设置JSP页面是否支持多线程访问,选项C正确。 8. 静态插入文件:`include`指令标签可以用于在JSP页面中静态插入另一个文件,选项C正确。 9. JSP内置...

Global site tag (gtag.js) - Google Analytics