博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jsp解析过程
阅读量:5806 次
发布时间:2019-06-18

本文共 1173 字,大约阅读时间需要 3 分钟。

什么是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

你可能感兴趣的文章
如何使用netfilter/iptables构建防火墙
查看>>
livemesh在远程桌面中的运用
查看>>
蜜罐技术的配置模式和信息收集
查看>>
查看Oracle的实例名
查看>>
Zend Studio去除编辑器的语法警告
查看>>
linux驱动current关键词
查看>>
让SQL再快一点儿
查看>>
而尔维尔
查看>>
ios获取手机状态 idfa idfv 网络类型 分辨率 获取运营商 ip
查看>>
微信小程序下nginx代理wss,实现兼容原本服务协议ws,Java版本
查看>>
Linux RPS RFS
查看>>
通过Secure CRT导出设备配置
查看>>
我的友情链接
查看>>
jmeter从上一个请求使用正则表达式抓取Set-Cookie值,在下一个请求中运用
查看>>
【Mybatis框架】输入映射-pojo包装类型
查看>>
js 动态添加input代码
查看>>
oldboy 27期学习计划
查看>>
我的友情链接
查看>>
Caused by: javax.el.ELException:
查看>>
我的友情链接
查看>>