一、JSP页面的基本结构

在传统的HTML页面文件里增加Java程序片和JSP标签就构成了一个JSP页面文件。

一个JSP页面可由5种元素组合而成;

1、普通的HTML标记符

2、Jsp标签。如指令标签,动作标签

3、变量和方法的声明

4、Java程序片

5、Java表达式

我们称后三部分为JSP的脚本部分

当server上的一个JSP页面被第一个请求运行时。server上的JSP引擎首先将JSP页面文件转译成一个Java文件,再将这个Java文件编译成生成字节码文件。然后通过运行字节码文件响应客户的请求。这个 字节码文件的任务就是:

1、把JSP页面中普通的HTML标记符号交给客户的浏览器运行显示。

2、JSP标签、数据和方法声明、Java程序片由server负责运行。将须要显示的结果发送给客户的浏览器。

3、Java表达式由server负责计算,并将结果转化为字符串,然后交给客户的浏览器负责显示

二、变量和方法的声明

在 “<%!”和”%>”标记符号之间声明变量和方法。在之间放置Java的变量声明语句。

变量的类型能够是Java语言同意的不论什么数据类型。

我们将这些变量称为JSP页面的成员变量。

在其之间声明的变量在整个JSP页面内都有效,由于JSP引擎将JSP页面转译成Java文件时,将这些变量作为类的成员变量。这些变量的内存空间直到server关闭才被释放。当多个客户请求一个JSP页面时,JSP引擎为每一个客户启动一个线程,这些线程由JSP页面成员变量操作的结果,都会影响到其它用户。

example

<%@ page contentType="text/html;charset=GB2312"%>
<HTML>
<BODY BGCOLOR=cyan>
<FONT Size=4>
<%!
int i=0;
%>
<%
i++;
%>
<p>您是第
<%=i%>
个訪问本站的客户。
<p> </FONT>
</BODY>
</HTML>

执行结果

JSP页面的基本结构 及声明变量的更多相关文章

  1. JSP页面的基本结构

    一:一个JSP页面由以下基本元素组成. (1)HTML标签 (2)CSS (3)变量和方法 (4)Java代码段 (5)JSP动作和指令 (6)其他脚本元素(如Javascript) 二:JSP的基本 ...

  2. JSP页面元素

    jsp-->Java Server Page jsp 页面元素: 静态内容 2.  指令 <%@ page contentType=”text/html” %>  设置指定页面内容类 ...

  3. 网站开发进阶(六)JSP两种声明变量的区别

    JSP两种声明变量的区别 在JSP中用两种声明变量的方法,一种是在<%! %>内,一种是在<% %>内.他们之间有什么区别呢?我们直接看一个JSP文件来理解. 代码如下: &l ...

  4. Jsp页面中动态的引入另一个jsp,jsp:include路径是变量的实现

    1 问题描述 在页面搭建时,会有这样的需求,希望局部页面动态的引用另一个jsp.这里的"动态"的意思引用的jsp的路径是个变量.举个例子,我们希望局部页面可能是page1.jsp或 ...

  5. JSP两种声明变量的区别

    感谢大佬:https://blog.csdn.net/tiercel2008/article/details/11553899?utm_source=distribute.pc_relevant.no ...

  6. 使用type="redirect"重定向,传递List等变量到jsp页面的问题

    Struts2在提交表单的时候,使用「type="redirect"」重定向到相应的jsp页面. Action中的List表单是无法传到相应的jsp页面. 我猜测是因为List作为 ...

  7. 在JSP页面中调用另一个JSP页面中的变量

    在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象—request对象获取参数: ( ...

  8. 提交一个变量或数组到另一个jsp页面

        注意一:提交一个变量到另一个jsp页面,用hidden的input 另一个页面用request.getParameter();获取 注意二:提交一个数组到另一个页面,可以用相同的input的n ...

  9. JSP中声明变量、方法

    在JSP页面中声明局部变量,全局变量,方法等 代码示例: <%@ page language="java" contentType="text/html; char ...

随机推荐

  1. pycharm配置教程

    http://blog.csdn.net/u013088062/article/details/50100121

  2. 【bzoj3289】mato的文件管理

    首先允许离线,一眼莫队…… 然后考虑对于每次移动,这不就是让你求逆序对嘛(QAQ) 考虑怎么移动? 每次在最后添加一个数,比这个数大的数都会与其形成一个逆序对 每次在最后移除一个数,比这个数大的数都会 ...

  3. Java易错知识点(1) - 关于ArrayList移除元素后剩下的元素会立即重排

    帮一个网友解答问题时,发现这样一个易错知识点,现总结如下: 1.易错点: ArrayList移除元素后,剩下的元素会立即重排,他的 size() 也会立即减小,在循环过程中容易出错.(拓展:延伸到所有 ...

  4. [ MongoDB ] 副本集的搭建及测试

    Replica Sets  复制 (副本集) node1: 10.0.0.10node2: 10.0.0.11node3: 10.0.0.12 副本集结构图:

  5. react-slick无法显示预期效果问题

    目前学习react来做新项目,我要做一个图片的轮播,是那种一次可以展示几张图片的循环轮播,在我们使用的antd里面没有,然后前辈叫我使用react-slick插件,于是我就使用npm命令安装了reac ...

  6. JavaScript的数组详解

    #转载请留言联系 创建数组 1.通过new Array()进行创建 var arr1=new Array(); 2.通过中括号进行创建 var arr2=[]; 计算数组的长度 var arr3=[' ...

  7. linux用grep查找包含两个关键字的命令

    linux用grep查找包含两个关键字的命令 http://zhidao.baidu.com/link?url=VsFxeJXmU7W7hy1UH7eT6QAbUsVz9Ru2ABPuWYHWm4kB ...

  8. sqlserver中case when then用法

    sql语句判断方法之一,Case具有两种格式,简单Case函数和Case搜索函数. --简单Case函数 (CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' E ...

  9. Delphi:对TNotifyEvent的理解

    type TNotifyEvent = procedure (Sender: TObject) of object; 在Delphi中事件也是一个类,类型就是事件类型,不同的事件属于不同的类.TNot ...

  10. NetTcpBinding 类nettcpbinding的属性和方法

      一种适合于跨计算机通信的安全可靠的绑定. 继承层次结构   System.Object   System.ServiceModel.Channels.Binding    System.Servi ...