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中,有两种包含其 ...
随机推荐
- 切换Allegro PCB Editor
操作系统:Windows 10 x64 工具1:Allegro PCB Editor 菜单File > Change Editor... 在Product Choices对话框中,就可以选择想要 ...
- (二)Knockout 文本与外观绑定
Visible Visible binding会依据绑定的数据来决定相应的DOM元素是否隐藏,hidden或visible. 我们首先在js文件部分定义一个view model,这里我创建的是一个ob ...
- numpy array的复制-【老鱼学numpy】
对象的引用 看例子: a = np.array([0, 1, 2, 3]) b = a a[0] = 5 print("b=", b) # 判断a和b是否是同样的地址 print( ...
- openKM部署二次开发,eclipse环境
1.下载openKM_install_forwin安装包,配置jdk环境,start openKM,访问localhost\OpenKM,用户:okmAdmin 密码:admin.查看是否启动成功.安 ...
- redis启动过程源码解析
redis整个程序的入口函数在server.c中的main函数,函数调用关系如下图1,调用顺序为从上到下,从左至右. 图1 redis启动函数调用图 main函数源码如下,1-55行根据配置文件和启动 ...
- django——用户认证组件
用户认证 auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authenti ...
- 执行Android后台任务的最佳实践
灵活执行后台任务可以帮助提升应用性能,并最小化电量损耗. Android后台任务主题包含以下三个子主题: 1. 在IntentService中执行后台任务: 2. 使用CursorLoader在后台加 ...
- 使用mybatis assembly插件打成tar包,在linux系统中运行服务
使用mybatis assembly插件打成tar包,在linux系统中运行服务 assembly插件插件地址: 链接:https://pan.baidu.com/s/1i6bWPxF 密码:gad5 ...
- defer 内追踪变量变化
遇到一个需求,需要追踪变量的最终情况.defer比较合适,但是写了变量和指针都无效,于是试了试: 变量,变量地址,指针的使用情况 func TestDefer(t *testing.T) { a := ...
- CentOS下 SVN版本控制的安装(包括yum与非yum)的步骤记录。
一.yum安装 rpm -qa subversion //检查是否安装了低版本的SVN yum remove subversion //如果存储旧版本,卸载旧版本SVN 开始安装 yum -y ins ...