JSP原理剖析
什么是JSP
JSP长得和html没有区别,但是服务器会把jsp转换为servlet类
JSP(Java Server Page)Java服务器端页面,和Servlet一样,用于动态Web

在jsp之前,servlet用out一条一条的写页面,有参数就拼在页面后面

JSP最大的特点,写jsp就像写html
JSP与Html的区别
- HTML只给用户提供静态数据
- JSP页面中可以嵌入Java代码,为用户提供动态数据
JSP原理
jsp运行后再target目录里面有生成的东西,发现jsp页面没有变化,说明

发现页面转换成为java程序

浏览器向服务器发送请求,不管访问什么资源,其实都是在访问servlet,
JSP最终也会转换为Java类
JSP本质是一个servlet

看生成JSP源码,可以看到内置了一些对象,这些对象可以直接使用


用${ }可以去到参数,例如
${sessionScope}
用 <% %>就可以写java对象,例如
<% out.print(3/1); %>

演示代码

查看tomcat通过JSP生成servlet
使用everything得知我的tomcat在以下位置

打开C:\Users\11507\AppData\Local\JetBrains\IntelliJIdea2020.2\tomcat发现有以下文件

发现我运行tomcat的文件都在这里,打开我jsptest项目,发现有运行以下的jsp

没有我写的用于测试的hello.jsp
当我访问页面http://localhost:8080/hello.jsp,发现多了一个hello.java和hello.class

页面有以下输出

JSP生成Servlet代码分析
打开hello.java代码,发现


对比我写的测试代码,发现jsp就是把html代码拼成java代码,拼好的代码继承serlvet,是一个servlet。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body> <%-- 我们课以在jsp里面定义java代码 --%>
<% String name = "nzhao"; %> hello<%=name%> </body>
</html>
在Jsp页面;
只要是Java代码就会原封不动的输出,
如果是html代码,就会转义为
out.write("<html>\r\n")
这样的格式,输出到前端
JSP原理剖析的更多相关文章
- SpringMVC的url-pattern配置及原理剖析
SpringMVC的url-pattern配置及原理剖析 xml里面配置标签: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc./ ...
- CDN 工作原理剖析
CDN 工作原理剖析 CDN / Content Delivery Network / 内容分发网络 https://www.cloudflare.com/zh-cn/learning/cdn/wha ...
- java web学习总结(十四) -------------------JSP原理
一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...
- ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)
ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件) Startup Class 1.Startup Constructor(构造函数) 2.Configure ...
- ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行
ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行 核心框架 ASP.NET Core APP 创建与运行 总结 之前两篇文章简析.NET Core 以及与 .NET Framew ...
- JavaWeb---总结(十四)JSP原理
一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...
- JSP 原理
参考文献:http://www.cnblogs.com/xdp-gacl/p/3764991.html 一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都 ...
- javaweb学习总结(十四)——JSP原理
一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...
- java web 学习十四(JSP原理)
一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...
随机推荐
- PowerShell启用多跳远程控制
有些场景下,我们使用远程连接了某个Server,在远程Server中再想进行远程操作,就会提示错误.因为默认的认证信息只会传递一跳. 对此,微软官方文档给出的解决方案是:https://docs.mi ...
- 数理统计8:点估计的有效性、一致最小方差无偏估计(UMVUE)、零无偏估计法
在之前的学习中,主要基于充分统计量给出点估计,并且注重于点估计的无偏性与相合性.然而,仅有这两个性质是不足的,无偏性只能保证统计量的均值与待估参数一致,却无法控制统计量可能偏离待估参数的程度:相合性只 ...
- 电影推荐系统---协同过滤算法(SVD,NMF)
SVD 参考 https://www.zybuluo.com/rianusr/note/1195225 1 推荐系统概述 1.1 项目安排 1.2 三大协同过滤 1.3 项目开发工具 ...
- Bootstrap微章
给链接.导航等元素嵌套 span class="badge" 元素,可以很醒目的展示新的或未读的信息条目. <a href="#">Inbox &l ...
- Linux错误记录贴
add-apt-repository 不要写成 add-apt-repository service 不要写成 sevice 总之在打命令的时候要注意不要拼错单词 对于ls命令权限不够我们可以先su ...
- 编程方式建视频——GitHub 热点速览 v.21.07
作者:HelloGitHub-小鱼干 假期过半,大家过得如何,吃好喝好了吗?GitHub 很好!本周的 GitHub Trending 又上爆款项目--github1s 装完之后,一秒 GitHub ...
- hihoCoder Challenge 1
#1034 : 毁灭者问题 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在 Warcraft III 之冰封王座中,毁灭者是不死族打三本后期时的一个魔法飞行单位. 毁 ...
- 如何使用 js 实现tooltips 的 hover 时候坐标的自动计算
如何使用 js 实现tooltips 的 hover 时候坐标的自动计算 js 监听 mouseover event https://developer.mozilla.org/zh-CN/docs/ ...
- popstate 事件 & history API
popstate 事件 & history API URL change 当用户浏览会话历史记录时,活动历史记录条目发生更改时,将触发 Window 界面的 popstate 事件. 它将当前 ...
- navigator.geolocation.getCurrentPosition
navigator.geolocation.getCurrentPosition Geolocation API Specification 2nd Edition W3C Recommendatio ...