JSP页面的基本结构 及声明变量
一、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页面的基本结构 及声明变量的更多相关文章
- JSP页面的基本结构
一:一个JSP页面由以下基本元素组成. (1)HTML标签 (2)CSS (3)变量和方法 (4)Java代码段 (5)JSP动作和指令 (6)其他脚本元素(如Javascript) 二:JSP的基本 ...
- JSP页面元素
jsp-->Java Server Page jsp 页面元素: 静态内容 2. 指令 <%@ page contentType=”text/html” %> 设置指定页面内容类 ...
- 网站开发进阶(六)JSP两种声明变量的区别
JSP两种声明变量的区别 在JSP中用两种声明变量的方法,一种是在<%! %>内,一种是在<% %>内.他们之间有什么区别呢?我们直接看一个JSP文件来理解. 代码如下: &l ...
- Jsp页面中动态的引入另一个jsp,jsp:include路径是变量的实现
1 问题描述 在页面搭建时,会有这样的需求,希望局部页面动态的引用另一个jsp.这里的"动态"的意思引用的jsp的路径是个变量.举个例子,我们希望局部页面可能是page1.jsp或 ...
- JSP两种声明变量的区别
感谢大佬:https://blog.csdn.net/tiercel2008/article/details/11553899?utm_source=distribute.pc_relevant.no ...
- 使用type="redirect"重定向,传递List等变量到jsp页面的问题
Struts2在提交表单的时候,使用「type="redirect"」重定向到相应的jsp页面. Action中的List表单是无法传到相应的jsp页面. 我猜测是因为List作为 ...
- 在JSP页面中调用另一个JSP页面中的变量
在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象—request对象获取参数: ( ...
- 提交一个变量或数组到另一个jsp页面
注意一:提交一个变量到另一个jsp页面,用hidden的input 另一个页面用request.getParameter();获取 注意二:提交一个数组到另一个页面,可以用相同的input的n ...
- JSP中声明变量、方法
在JSP页面中声明局部变量,全局变量,方法等 代码示例: <%@ page language="java" contentType="text/html; char ...
随机推荐
- docker从零开始(一)centos获取安装docker-ce
卸载旧版本 较旧版本的Docker被称为docker或docker-engine.如果已安装这些,请卸载它们以及相关的依赖项. centos7 yum安装的docker就是docker-engine ...
- Django组件之contenttype的应用
contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. 每当我们创建了新的model并执行数据库迁移后,Conte ...
- MyEclipse2015+Tomcat8.0+Maven3.3项目环境搭建
之前一直用自己的笔记本进行web项目的开发,实验室配了一台台式机,软件和环境都需要重新配置和安装.最近准备用SSM(Spring,SpringMVC,MyBatis)框架编写一个图书管理系统,主要使用 ...
- Android 登录界面调用输入法时让界面自动上移,使输入法不会遮挡到主界面(Activity)
先贴上效果图: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:andr ...
- sonarQube6.1 升级至6.2
在使用sonarQube6.1一段时间后,今天才发现sonarQube6.2已经更新,为了尝鲜,我决定在本机先尝试一下,如何升级至6.2 在这里,根据站点提示的升级步骤 1.下载新版本sonarQub ...
- MapReduce 编程模板
1.MapReduce 编程模型的5个步骤: 1)迭代,将输入数据解析成 key/value 对: 2)将解析的 key/value经过Map处理映射成另一组key/value对: 3)根据key进行 ...
- Codeforces Round #404 (Div. 2) E. Anton and Permutation(树状数组套主席树 求出指定数的排名)
E. Anton and Permutation time limit per test 4 seconds memory limit per test 512 megabytes input sta ...
- CodeForces 348C Subset Sums(分块)(nsqrtn)
C. Subset Sums time limit per test 3 seconds memory limit per test 256 megabytes input standard inpu ...
- oracle tablespace usage status
select a.tablespace_name, a.bytes / 1024 / 1024 "Sum MB", (a.bytes - b.bytes) / 1024 / 102 ...
- Apache用户目录枚举工具apache-users
Apache用户目录枚举工具apache-users Apache服务器提供UserDir模块,允许在网站为不同的用户设置对应的目录.这样,用户可以使用http://example.com/~use ...