}
可以看到servlet没有一点htmldiamante,数据都交给jsp来处理。
jsp长这样:
<%@ page language=“java” import=“java.util.*” pageEncoding=“utf-8”%>
<%String path = request.getContextPath();%>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="description" content="This is my page">
<script></script>
</head>
<body>
<% ArrayList list = (ArrayList) request.getAttribute("list"); %>
<h2 align = "center">图书列表</h2>
<table border = 1px align = "center">
<tr><th>图书名称</th><th>图书作者</th></tr>
<!-- 继续使用jsp语句 循环放入存放于list中的Book实体类中的数据 -->
<%
for(int i = 0;i<list.size();i++){
Book book =(Book)
list.get(i);%>
<tr><th><%=book.getName() %></th><th><%=book.getAuthor()%></th><tr>
}
%>
</table>
</body>
在html里面写java代码。我们可以这么理解,jsp就是servlet,只不过servlet把一些业务功能剥离开来交给了或者是形成了jsp.
jsp的缺点:
* 动态和静态资源放在一起,用户体验感差
* jsp无法使用nginx
* jsp出现问题需要前后端一起上阵解决,效率太低
* jsp页面足够复杂,不好维护
所以后来为了解决这一问题,出现了前后端分离,
#### []( )什么是中间件?
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
事实上我们为了解决某一类复杂的技术问题,其实都可以通过一个中间件去解决。中间件实现了不同技术之间的共享资源,实现应用间的互联与操作。
不涉及到直接给客户提供业务价值的软件都是中间件,比如nginx,mysql其实都是中间件,而OA系统这种能够直接让用户使用,提供服务的才称得上不是中间件。
中间件又分为: 缓存中间件,数据库中间件,消息中间件,服务化中间件,交易中间件,调度中间件和集成中间件等。
现在有个流行的词叫技术中台,也是中间件的一种叫法。
中间件有多少? 以MQ为例: activeMQ, kafka, pulsar, rocketMQ, CMQ, TbueMQ, JMQ,QMQ,DDMQ, 还有一些不知名的MQ。 其实都是消息队列,只是各家公司基于其中一个开源产品做了二次研发起的名字,比如滴滴的DDMQ
#### []( )什么是动态数据,什么是静态数据
这个很难解释,我们在tomcat这边做的是动静分离, 而这里的动静其实指的是动态请求和静态请求。
静态页面: 是一个页面对应一个内容,你打开网页前就能知道网页是什么样子。一般html,js,css央视的文件。
动态页面: 是一个一对多的访问,通过一个页面可以返回若干不同的数据,所以你在打开网站前上次打开和这次可能都会不一样。
而目前市面上的网站,几乎都是动态的。
比如知乎,豆瓣,你打开一次,就变化一次。
静态文件:图片,视频,音乐,JS,CSS,HTML
动态文件: .jsp .php(场景: 百度搜索结果,淘宝商品列表,订单首页)
#### []( )什么是JVM?
JVM是java程序的运行环境,相当于java的虚拟机,Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 你可以理解为jvm,是java代码运行时候的虚拟机,但这个虚拟机这三个字只是我们的类比。
JVM定义了一套抽象的而非真实存在的机器,就像一台摸不见看不着的处理器一样存在。 如果把他转换成实体机器的话,它拥有自己的指令集,一组寄存器,一个堆栈,一个“垃圾堆”,和一个方法区。
这里不得不提一下: 人很难感知到自己感知不到的感知。
所以我们这里用的是类比,就相当于我们说内存,如果去掉内存卡这个实物, 一个没有实体但是真实存在的与内存功能相似的东西,我们就很难描述出来。
这个JVM也一样,我们可以类比成拥有自己的指令集,一组寄存器,一个堆栈,一个“垃圾堆”,和一个方法区的java虚拟机,但这个虚拟机实体并不真实存在。
或者换句话说,JVM是java程序的一个具有隐身功能的翻译官,java程序本身是不能被操作系统所识别的,而JVM就负责翻译给操作系统听。
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/93496f86514b0a02cef495b44106333e.png)
![img](https://img-blog.csdnimg.cn/img_convert/c1ac8e106964aeb6a08d43673d82e200.png)
![img](https://img-blog.csdnimg.cn/img_convert/c3e5f672fa991dce82e422233213cc47.png)
![img](https://img-blog.csdnimg.cn/img_convert/8a9ffd6f95630b74ba69abe02dd81b48.png)
![img](https://img-blog.csdnimg.cn/img_convert/7c3ceac8d6bc1ca98867f4d0fa231d14.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/ad073593d2e43f86410be95d51868f82.jpeg)
![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)
最全的Linux教程,Linux从入门到精通
======================
1. **linux从入门到精通(第2版)**
2. **Linux系统移植**
3. **Linux驱动开发入门与实战**
4. **LINUX 系统移植 第2版**
5. **Linux开源网络全栈详解 从DPDK到OpenFlow**
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)
**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**
> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
[**一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**
bs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**