Jsp解析过程

什么是JSP?
JSP---Java Server Pages
拥有servlet的特性与优点(本身就是一个servlet)
直接在HTML中内嵌JSP代码
JSP程序由JSP Engine先将它转换成Servlet代码,接着将它编译成类文件载入执行
只有当客户端第一次请求JSP时,才需要将其转换、编译
优点:
优良的性能
优于CGI,PHP,ASP
平台无关性
操作系统无关,Web服务器无关
可扩展性
tag的扩展机制,简化页面开发

JSP解析过程:
1 :JSP先把文件解析成java文件
2 :然后再通过javac把java文件编译成类文件
3 :在通过JVM虚拟机把类文件转换成html格式;
4 :把html效果显示在客户端上.

加载过程分为动态加载和静态加载:
jsp:include 是动态加载,在jsp编译的时候,加载页面和被加载页面会被解析两个java,servlet文件
javac编译器会编译两次,生成两个class文件,
然后在jvm运行的过程中,这个时候包含文件才去调用被包含的class文件
这就是动态包含
<%@ include file="_02_date.jsp"%> 是静态加载:


<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jsp:include</title>
</head>
<body bgcolor="white">
<font color="red">
<%@ include file="_02_date.jsp"%>
<%= request + "--1--" + "<br>"%>
<%/*注意jsp标签需要自己关闭,不要忘了关闭的横线*/%>
<jsp:include page="_02_date.jsp" flush="true" />
<%= request + "--1--"+ "<br />"%>
<%/*

*/%>
<%/*
* 不同的页面,不同的request之间可以传值
* 传值别忘了写flush,这里传值也是IO流,需要flush
* 然后把值传递到第二个页面输出
*/%>
<jsp:include page="_02_date.jsp?username='123'" flush="true" />

</font>
</body>
</html>
上面例子可以看出,因为生成是两个不同的Servlet文件-->不同的class--->所以每个Servlet都有自己的request对象,不是同一个.但是第一个是生成一个Servlet所以是同一个request

 

转载于:https://www.cnblogs.com/qinyunwei/p/4690831.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值