博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp运行原理分析
阅读量:6499 次
发布时间:2019-06-24

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

一、原理图:

二、jsp访问过程

    如果是第一次访问jsp文件,被服务器翻译成一个对应的Java文件(sevlet),然后,再被编译成.class文件并加载到内存中。如果是第二次访问jsp,那就可以直接调用内存中的jsp实例,所以之后的访问jsp速度会比之前快一些。

三、jsp页面中的HTML排版标签是如何被发送到客户端的?

分享链接:http://www.360doc.com/content/16/0708/06/34910487_573919463.shtml

    在jsp中编写的java代码和html代码都会被翻译到_jspService方法中去,在jsp中编写的java代码会原封不动地翻译成java代码,如<%out.print('Hello Jsp');%>直接翻译成out.print('Hello Jsp');,而HTML代码则会翻译成使用out.write('<html标签>\r\n');的形式输出到浏览器。在jsp页面中编写的html排版标签都是以out.write('<html标签>\r\n');的形式输出到浏览器,浏览器拿到html代码后才能够解析执行html代码。

为什么你可以直接使用out对象?

  原因是outjsp的九大内置对象之一;

 

 

四、Jsp页面中的java代码服务器是如何执行的?

    Jsp = HTML + java代码 + js + css + jsp标签

 

<body>

12345678987654321;

<%

//在这之间,可以写我们的java代码,就和我们在java文件中写java代码是一样的;

out.println("hello,world" + "当前日期=" + new java.util.Date());

%>

<%

int i = 5;

int j = i + 10;

%>

<h1>测试</h1>

<%

out.print("j = " + j + ";");

%>

</body>

注意:在这个代码段中,虽然j在两个不同的代码段中使用,但是,实际上在sevlet中,这两个代码段是在同一个方法中的,所以下面可以使用上面j的值,他们是同一个;

1、就是有多个<% %>其实相当于一个大的<% %>;

2、<% %>中定义的变量,会成为service函数的局部变量;

五、Web服务器在调试jsp时,会提供jsp一些什么java对象?

Out对象就相当于servlet中的printwrite

转载于:https://www.cnblogs.com/cxm-weiniss/p/7170082.html

你可能感兴趣的文章
oracle varchar 比较,为什么Oracle的varchar排序顺序与varchar比较的行为不匹配?
查看>>
定子电流分析 异步电机 matlab,MatlabSimulink环境下异步电机定子故障诊断的仿真与研究...
查看>>
oracle index contention,故障排除 | enq:TX - index contention等待事件
查看>>
silk v3 decoder php,解码转换QQ微信的SILK v3编码音频为MP3或其他格式
查看>>
延时关机命令 linux,windows定时关机和linux定时关机的方法(shutdown命令)
查看>>
linux内核最早延迟,工作队列是实现延迟的新机制,从2.5版本Linux内核开始提
查看>>
linux的操作命令文档,Linux文档操作命令
查看>>
linux不能访问80端口,lunux开放80端口(本地访问不了linux文件可能是这个原因)...
查看>>
linux max函数头文件,Linux下select函数
查看>>
linux无法挂载移动硬盘6,Linux下挂载移动硬盘
查看>>
linux查看与开启sshd服务,[转载]linux查看与开启sshd服务
查看>>
linux新建备份数据库的脚本文件在哪,linux数据库备份脚本
查看>>
kali linux中查看已安装软件,kali linux 怎么使用终端查看已安装软件
查看>>
linux svn仓库备份,linux SVN备份
查看>>
arm-linux-gcc /lib/libc.so.6,Cannot find /lib/libc.so.6
查看>>
linux从类型void*到类型data*的转换无效,从类型“MyStruct”到类型“void*”的强制转换无效...
查看>>
linux 英语大全对照表,Linux下推荐的常用应用程序列表(国外英语).doc
查看>>
2018秋c语言程序设计考试答案,2018秋C语言程序设计上(赵三元)-中国大学mooc-题库零氪...
查看>>
c语言从文件读取矩阵做乘积,三阶矩阵的乘法(C语言从文件中读入)
查看>>
爱因斯坦阶梯问题用while循环c语言,【C语言编程练习】5.9 爱因斯坦的阶梯问题...
查看>>