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随笔4---变量
全局变量 输入$global:后按ctrl+space,我们就可以看到所有的全局变量. 比如我们可以查看PowerShell的版本: 我们可以在在编写脚本代码的时候使用这些变量,globle可以省略, ...
- dict与set -- Python
dict(字典):用空间换取时间,占据空间大,但查询速度快,键值对(key:value),key唯一 d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} 由于一个k ...
- SpringBoot引入openfeign 报错:spring-cloud-starter-openfeign:unknown
现象: 1.maven报错:Cannot resolve org.springframework.cloud:spring-cloud-starter-openfeign:unknown 解决: 在h ...
- 使VS开发的程序在Win7系统运行时自动提升权限
软件开发时,总是会遇到在Win7系统上运行不起来或者异常的情况,这通常是用户的权限不够引起的. 下面提供一个可以使程序运行时,自动提升用户权限的方法. 1.右键点击启动项目,单击"属性&qu ...
- HTML5 drag & drop & H5 DnD
HTML5 drag & drop H5 DnD https://html5demos.com/ demos https://html5demos.com/dnd-upload https:/ ...
- free useful skills videos courses & tutorials
free useful skills videos courses & tutorials website video courses https://realpython.com/ http ...
- illustrating javascript prototype & prototype chain
illustrating javascript prototype & prototype chain 图解 js 原型和原型链 proto & prototype func; // ...
- NGK全球启动大会圆满召开,一起预见区块链的美好未来!
NGK Global全球启动大会在高新技术产业区硅谷于美国当地时间11月25日圆满召开!这次会议邀请了星盟高管.NGK全球各大市场领导人.NGK生态产业代表等上百位嘉宾出席,此次会议持续了一个多小时, ...
- 算法图解:Python笔记代码
二分查找 选择排序 递归 快速排序 广度优先搜索 狄克斯特拉算法 贪婪算法 二分查找 def binary_search(lst,item): low = 0 high = len(lst)-1 wh ...
- 从微信小程序到鸿蒙js开发【15】——JS调用Java
鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1.新建一个Service Ability2.完善代码逻辑3.JS端远程调用4.<从微信小 ...