jsp中:jsp声明与jsp脚本<%! int count=0;%> 与<% int count=0;%>

  <body>
 <%!int count; %>

 <%int count2=0; %>
 输出声明时候的count:<%=count++ %> <br>
 输出脚本的count2:<%=count2++ %> <br>
  </body>每次刷新该jsp页面时对应的输出结果count每刷新一次增加1
count2每刷新一次 不变

分析:  因为count是jsp中声明的变量,当jsp编译成servlet时,cout是该servlet对象的成员变量,再根据servlet生命周期为当web关闭时才调用destroy()方法销毁该servlet对象,所以每次刷新都会增加 1;  而count2在jsp脚本中声明的变量相当于jsp编译成servlet后,将会编译成servlet —jspService方法的可执行代码即该方法的局部变量,意味着该变量的生命周期只在该方法调用前后,所以每次刷新后 count2值都将重新初始化为 0;

  

<body> <%!int count; %>  <%int count2=0; %> 输出声明时候的count:<%=count++ %> <br> 输出脚本的count:<%=count2++ %> <br>  </body>

时间: 2024-11-05 18:22:17

jsp中:jsp声明与jsp脚本<%! int count=0;%> 与<% int count=0;%>的相关文章

JSP中的声明语句块和表达式块

一.JSP中的声明语句块 在JSP页面中使用<%!%>括起来的部分,称为声明语句块.声明语句块中的内容,将被JSP引擎翻译到Servlet的类体中,是不会被包含到某个方法中的. 这样的话,在JSP的声明语句块中就可以声明实例变量.实例方法.静态方法.静态代码块等内容.并且,这些内容均可被JSP的的Java代码块中的代码访问.因为可以访问类属性的.不过,还是不建议在JSP的声明语句块中声明实例变量.因为JSP是运行在单例多线程环境下的,实例变量将会引起线程安全问题. 需要注意的是,在JSP的声明

jsp中的@include与jsp:include区别详解

1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include page="xxx.jsp"></jsp:include> 我们也许会使用这两种方式,但是也许很多人不名称这两种方式的区别.下面我们来看看下面的两个例子 2 开门见山引出问题 (1) /include/include.jsp <%@ page language=&

【JSP中引入文件】JSP中获取根路径+引用js文件

在jsp界面中经常需要引入js.css等文件,通常都需要先获取项目根路径,然后再引入文件. 例如: 项目路径如下,需要在index.jsp中引入FusionCharts相关的js.css等: index.jsp <%@ page language="java" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.get

jsp中导入导出excel,ssh框架

导入Excel:jsp中 1 <form action="user_importTradingMoney" enctype="multipart/form-data" method="post"> 2 <label>导入数据 3 <input type="file" name="tradingMoneyFile" value="选择文件"> 4 <

spring mvc EL ModelAndView的 Model 值 在jsp中不显示

问题:spring mvc开发过程中, 经常会给model addAttribute, 然后通过EL在jsp中显示,比如 ${msg}, 但是有时候会出现jsp最后显示的还是${msg},而不是msg赋值过的. Spring Controller import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.serv

jsp2.0+中的标签文件,JSP Fragment技术

刚进新公司不久,今天在看到项目中用到了.tag文件.刚開始我还以为这个是第三方类似freemarker的模板技术.问了下项目组的其它人员,原来这是jsp2.0以来就有的JSP Fragment技术.曾经做项目的时候从来没实用这种方式,要公用就用用jsp中的include和jsp:include的方式.事实上JSP Fragment也有include的作用,可是它更像第三方sitemesh技术.用于网页布局和修饰,能够将网页的内容和页面的结构分离.从而达到页面结构共享的目的. 以下的样例来说明怎么

在Jsp中调用静态资源,路径配置问题

在Jsp中调用图片.JS脚本等,针对取得的路径有两种调用方式: 1.放入Body中生成绝对路径(不建议) <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%    String path = request.getContextPath();    String basePath = request.getScheme()+":/

jsp中pageEncoding、charset=UTF -8

jsp中pageEncoding.charset=UTF -8" 在JSP/Servlet  中主要有以下几个地方可以设置编码,pageEncoding="UTF-8".contentType="text/html;charset=UTF  -8".request.setCharacterEncoding("UTF-8")和response.setCharacterEncoding  ("UTF-8"),其中前两个只

Servlet中的PrinterWriter和JSP中的JspWriter

Servlet中的PrintWriter 和 JSP中的JspWriter. JSP的本质是Servlet,因此在JSP中也可以得到PrintWriter. 在JSP页面中,使用的是JspWriter对象. 1.共同点 (1)都是继承自Java.io.Writer类 PrintWriter public class PrintWriter extends Writer JspWriter,注意它是个抽象类 abstract public class JspWriter extends java.