什么是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源码,可以看到内置了一些对象,这些对象可以直接使用

${ }可以去到参数,例如

  1. ${sessionScope}

<% %>就可以写java对象,例如

  1. <% 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。

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7.  
  8. <%-- 我们课以在jsp里面定义java代码 --%>
  9. <%
  10.  
  11. String name = "nzhao";
  12.  
  13. %>
  14.  
  15. hello<%=name%>
  16.  
  17. </body>
  18. </html>

在Jsp页面;

只要是Java代码就会原封不动的输出,

如果是html代码,就会转义为

  1. out.write("<html>\r\n")

这样的格式,输出到前端

JSP原理剖析的更多相关文章

  1. SpringMVC的url-pattern配置及原理剖析

    SpringMVC的url-pattern配置及原理剖析 xml里面配置标签: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc./ ...

  2. CDN 工作原理剖析

    CDN 工作原理剖析 CDN / Content Delivery Network / 内容分发网络 https://www.cloudflare.com/zh-cn/learning/cdn/wha ...

  3. java web学习总结(十四) -------------------JSP原理

    一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...

  4. ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)

    ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件) Startup Class 1.Startup Constructor(构造函数) 2.Configure ...

  5. ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行

    ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行 核心框架 ASP.NET Core APP 创建与运行 总结 之前两篇文章简析.NET Core 以及与 .NET Framew ...

  6. JavaWeb---总结(十四)JSP原理

    一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...

  7. JSP 原理

    参考文献:http://www.cnblogs.com/xdp-gacl/p/3764991.html 一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都 ...

  8. javaweb学习总结(十四)——JSP原理

    一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...

  9. java web 学习十四(JSP原理)

    一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...

随机推荐

  1. SPU与SKU概念

    1. 什么是SPU SPU 是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.即:某一款商铺的公共属性. 通俗点讲,属性值.特性相同的货品就可以称为一个 S ...

  2. 如何创建一个GETH节点(单节点,windows环境)

    所有命令都是在powershell上执行的 1.创建"创世块" 初始化配置 创建一个 hdgenesis.json文件,拷贝到geth根目录 {    "config&q ...

  3. C++ 变量声明数组

    int len; cin>>len; int *p=new int[len]; delete[] p; 不能写作 int p[]=new int[len]; 因为new是开辟了内存空间后返 ...

  4. l2-002 链表去重 (未解决)

    L2-002. 链表去重 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个带整数键值的单链表L,本题要求你编写程序,删除 ...

  5. C# TextBlock

    TextBlock 适合长文本多行显示,Label可以看成是一个简短的单行的TextBlock,只是Label可以显示图片,TextBlock只能显示纯文本 默认的文本不会分行显示,超出窗体宽度的字符 ...

  6. docker-swarm----多机容器管理

    Docker Swarm: 准备三台机器,都装上 Docker docker swarm是docker官方提供的一套容器编排系统.它的架构如下: swarm是一系列节点的集合,而节点可以是一台裸机或者 ...

  7. 7816协议时序和采用UART模拟7816时序与智能卡APDU指令协议

    7816时序 7816时一个比较早的老通讯时序了,最近项目上需要用UART模拟所以,简单学习时序. 时序比较简单,熟悉UART的一眼看着就像是串口的时序,只是他没有停止位,取而代之的就是保护时间gur ...

  8. js load more select

    js load more select searchable scroll load more append to list refs xgqfrms 2012-2020 www.cnblogs.co ...

  9. super fast sort algorithm in js

    super fast sort algorithm in js sort algorithm Promise.race (return the fast one) Async / Await // c ...

  10. CSS & SASS & SCSS & less

    CSS & SASS & SCSS & less less vs scss https://github.com/vecerek/less2sass/wiki/Less-vs. ...