JSP页面、包含
JSP页面概念:
html称为静态页面,而与相对的JSP称为动态页面(一个特殊的servlet)二者的区别在于,html只能定义css,js。但是在JSP中除了html可以定义的文件外,还可以定义Java代码(需要使用<% Java代码 %>的形式包裹代码)、EL表达式、JSTL标签;
JSP页面特点:
页面在初次访问时相对较慢,因为需要经历如下几个过程:
1、将访问的JSP页面转换成*.java文件;
2、将*.java文件编译成*.class文件;
3、将*.class文件解析为*.html文件发送至客户端浏览器;
再次访问时:
JSP文件被修改:重复执行上述步骤;
JSP文件未修改:直接执行步骤三;
JSP页面注释:
1、原有html注释:<!-- html注释 -->
2、单行注释: // 单行注释(需要在<% %>中使用)
3、多行注释: /* 多行注释 */ (需要在<% %>中使用)
4、JSP 注释:<%-- JSP特有注释 --%>(唯一无法在转换后的*.java文件中显示的注释)
Java代码:
需要使用<% %>方式包裹代码,内部的可直接编写Java代码
注:<%= 变量名 %>这是scriptlet表达式,与EL表达式类似,但是EL表达式能将内置对象中的属性输出
包含概念:
一个项目中会有多个页面,但是每个页面的头、尾部信息可能都是一样的,此时就需要在多个页面中重复编写对应的头、尾代码。而包含则可以将需要大量重复的代码独立编写一份,然后再引用到需要包含的代码文件即可;
JSP有两种包含方式:
1、静态包含格式:<%@ include file="文件路径" %>
2、动态包含格式:<jsp:include page="文件路径"/>
静态包含与动态包含的区别:
静态包含:
需要先导入文件需要包含的因引用文件,完成后再进行编译生成一个*.class文件;
动态包含:
如果被包含的文件是静态资源则执行过程和静态包含一样;
如果被包含的文件是动态资源(.jsp)则先对被包含文件编译成独立的*.class文件后,在对整个文件进行编译;
JSP页面、包含的更多相关文章
- jsp页面包含的几中方式
(1)include指令 include指令告诉容器:复制被包含文件汇总的所有内容,再把它粘贴到这个文件中. <%@ include file="Header.jsp"%&g ...
- JSP页面包含其他页面的三种方式及区别
一. <%@ include file="header.inc"%> 该指令在编译之前先读入指定的页面中的内容(并不对动态内容求值),融合后的完整页面再被整体的转换为一 ...
- jQuery 获取jsp页面中用iframe引入的jsp页面中的值
<iframe scrolling="no" src="<c:url value='/unitBaseperson/view.do?para=9&op ...
- jsp页面中自定义标签的小演示
在实习期遇到公司的pg自定义标签了,同事要我自己自学一下 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet.JSP标签扩展可以让你创建新的标签并且可以直接 ...
- JSP页面基础用法和方法查询
导包jar:jstl.jar standard.jar jsp嵌套java代码,使用jsp脚本:1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 ...
- 分别应用include指令和include动作标识在一个jsp页面中包含一个文件。
分别应用include指令和include动作标识在一个jsp页面中包含一个文件. hello.jsp <%@ page language="java" import=&qu ...
- JSP页面中包含文件
在JSP中,主要有3种功能可以将外部内容包含到JSP文档中jsp:include动作. jsp:include动作允许我们在请求期间将其他页面的输出包含进来.它的主要优点是:在被包含的页面发生更改时, ...
- JSP页面静态包含和动态包含的区别与联系
---恢复内容开始--- JSP页面静态包含和动态包含的区别与联系: 1.<%@ include file=" " %> 是指令元素,<jsp:include p ...
- [转]JSP页面的动态包含和静态包含示例及介绍
原文地址:http://www.jb51.net/article/53659.htm 一.静态包含 本文介绍JSP静态包含语句,即使用JSP的include指令来完成的包含操作.JSP中,有两种包含其 ...
随机推荐
- 数据表为null的字段添加默认值
UPDATE im_clusters SET `location`='深圳会展中心' WHERE `location` is NULL
- Python学习笔记五
一. 递归 递归函数: def a (): print ("from b") b() def b(): print("from a ") a() a() 递推和 ...
- .net mvc 使用盛派Senparc.Weixin 上传图片接口
首先获取微信签名,Controller代码: public ActionResult MutualHelpAdd() { var jssdkUiPackage = JSSDKHelper.GetJsS ...
- 【Android】setXfermode属性
1.下面的Xfermode子类可以改变这种行为: AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图). PixelXorXfermode 当覆盖 ...
- Codeforces 755F PolandBall and Gifts bitset + 二进制优化多重背包
PolandBall and Gifts 转换成置换群后, 对于最大值我们很好处理. 对于最小值, 只跟若干个圈能否刚好组能 k 有关. 最直观的想法就是bitset优化背包, 直接搞肯定T掉. 我们 ...
- spark MLlib collaborativeFilltering学习
package ML.collaborativeFilltering; import org.apache.spark.SparkConf; import org.apache.spark.api.j ...
- Python运算符——复合运算符
就相当于算数运算符的后面加一个“=” 例:+= num = num+5 可以写成 num += 5 就是说,等式右边含有左边的变量名,就可以直接去掉,然后右边的符号移到左边去 同样的“-= / ...
- PID实战-STM32电机PWM力矩调节系统
系统阐述:
- Linux 添加到环境变量
在Linux下使用源码安装软件的时候,通常只能在软件安装目录下使用该软件命令,这样太麻烦,我们希望全局使用,可以将软件安装路径添加到系统环境变量里. 添加环境变量有2种方法: 1. 使用export命 ...
- BZOJ-9-3295: [Cqoi2011]动态逆序对
题意:N个数的排列,M次操作,每次求当前的逆序对数量并删掉一个数 思路 :动态说的很到位.hiahia ... 最初一直没想明白为什么 大佬的cdq 中统计了两次. 先定义 给出的删除的点的 t 值依 ...