目录 什么是JSP 安装配置JSP运行环境 JSP页面 JSP页面简介 设置Web服务目录 JSP运行原理 JSP 与Java Servlet的关系 HTML与JavaScript 什么是JSP ★ JSP...是Java Server Page的缩写,是由Sun公司倡导,许多公司参与,于1999年推出的一种Web服务设计标准。...▲ 需要强调的一点是:要想真正地掌握JSP技术,必须有较好的Java语言基础,以及基本的HTML语言方面的知识。...指定JSP页面的编码(有关细节在第二章讨论) ** JSP页面的保存** (1) 扩展名是.jsp。...(2) 保存类型选择为“UTF-8”(因为JSP页面指定的编码是utf-8)。
---- 一、JSP 文件编译流程原理 JSP 页面在请求的时候会先被 Tomcat 编译为 Servlet(Servlet 是用 Java 语言编写的服务器端程序),然后再由 Java 编译器编译为以..._2020 的输出文件夹,如下图所示: 我们顺着项目文件夹逐级往下查看,就可以看到我们刚才运行 Demo01.jsp 页面的编译输出文件,一个是 JSP 初次编译生成的 .java 文件,一个是...这也就是当初为什么出现 JSP 的原因,使用 JSP 比 Java 节省了大量的代码。 同时论证了 JSP 文件编译后首先生成的是 Servlet。...是否是第一次访问 JSP 文件的流程如下图所示: 但是请注意:如果你的 JSP 文件进行了修改,再次点击保存发布会重新编译,又会重新走编译的流程。...源码是一切!
大家好,又见面了,我是你们的朋友全栈君。 EL表达式 Expression Language 表达式语言,常用于取值 我们之前在JSP中写java代码必须写在里面。...这些值是从哪取的呢,实际上就是从四大作用域中获取的。 servlet中的四个作用域分别为 page,request,session,application 我们可以指定在某个作用域中取数据。... <% /* * 这里可以写变量声明,表达式,程序逻辑等 * 是局部的,相当于Java中的普通方法 * */ String name = "yzq";...userStatus.begin} 结束位置:${ userStatus.end} 下标:${ userStatus.index} 是否是第一个...:${ userStatus.first} 是否是最后一个:${ userStatus.last} 执行结果: EL表达式和
因为JSP的流行,所以大量的公司采用JSP来开发系统。兴奋,因为他确实比较方便,特别是有了struts2的加持,使得jsp如虎添翼。...撇开配置文件不说,更让人头疼的是前后端代码在一起,要么一个后端程序员把前端任务都做了,但是效果不好,因为后端程序员与专业前端技能上还是有差距的。...到了这个时候,已经是必须将前端和后端分开,因为现在的前端不仅仅包含WEB页面了。 由于现在的企业级应用,规模在不断的扩大,架构也越来越复杂,所以到目前,又出现了新的前后端技术来接受挑战。...angular - react - vue 前端也出现了很多革命性的框架,比如拥抱经典的VUE,一切都是JavaScript 的react,他们带来的是构建大型工程的便利以及极高的性能。...其实如果你想深入的学习下去,jsp还是很有必要的,因为jsp与servlet密不可分,但是你知不知道spring mvc 是基于servlet 实现的?
大家好,又见面了,我是你们的朋友全栈君。
大家好,又见面了,我是你们的朋友全栈君。 EL表达式 EL表达式的作用:EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据输出。...:request.getAttribute("key")%> %{ key} EL表达式主要是在jsp页面中输出数据,主要是输出域(request,session...--EL表达式不用谢get--> JSTL标签 JSTL标签库是一个不断完善的JSP标签库。...EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个jsp页面变得更加简洁。...语法 核心标签 用于在JSP中显示数据,就像<%=
你的硬盘是高性能的吗?你能抗住多少IO?你给web服务器分的内存有多大?会不会宕机? 这就是为什么,越是大中型的web应用,他们越是要解耦。...5.每次请求jsp都是访问servlet再用输出流输出的html页面,效率没有直接使用html高(是每次哟,亲~)。 6.jsp内有较多标签和表达式,前端工程师在修改页面时会捉襟见肘,遇到很多痛点。...7.如果jsp中的内容很多,页面响应会很慢,因为是同步加载。 8.需要前端工程师使用java的ide(例如eclipse),以及需要配置各种后端的开发环境,你们有考虑过前端工程师的感受吗。...ps:前端也可以玩单元测试吗? 2.上述的接口并不是java里的interface,说白了调用接口就是调用你controler里的方法。...7.这篇文章主要的目的是说jsp在大型外网java web项目中被淘汰掉,可没说jsp可以完全不学,对于一些学生朋友来说,jsp/servlet等相关的java web基础还是要掌握牢的,不然你以为springmvc
好吧,我有点糊涂了,让我梳理一下,有一个东西像虚拟化,称为容器,那么我能在Heroku上用它吗? -是l, Heroku已经支持docker, 但是我告诉你: Heroku已经死了....有了Docker这个集装箱,我还需要一个船队吗? -Yeah, 为了可靠性. 但是Kubernetes会替你管理. 你知道谷歌就是使用Kubernetes,它运行在etcd上面 什么是etcd?...-是分布式协议RAFT的实现. 什么是Raft? -它类似Paxos. 上帝, 有必要给我下这么深的套路吗?像兔子洞一样深?我只是要启动一个应用,好吧,深呼吸,告诉我什么是Paxos?...Aphyr是谁? -Aphyr是那个写‘Call Me Maybe.’家伙,分布式系统和BDSM大牛,你不认识吗? 什么? 你说BDSM? -Yeah, BDSM. 在San Francisco....就这样吗? -Yes! 你不感到辉煌吗? 我还是要回到 Heroku. 2333333~
jsp本质上是一个java类,所以早期java开发人员是前后端开发任务全负责,而UI设计师把设计好的html页面给开发人员集成,这个需要双方共同协调完成,效率低下,很难完成需求快速更新迭代,持续交付。...3、并发、吞吐量差 由于jsp本质是java类,只能放在web服务器(如tomcat),所以jsp不能部署到并发性能更好的nginx或者apache下,这是很多人诟病java web性能不好的原因之一。...究其原因是jsp内在特性决定的。 jsp初始化流程 ?...html到浏览器渲染是一个同步过程。...小结 笔者认为,前后端分离思想是一种趋势,更深层次是技术更新很快,我们要与时俱进,时刻更新自己的知识库。当然对于之前不了解jsp的同学还是要去学习下,毕竟很多技术发展是有继承性的。
如果你作为用户来访问互联网资源,那么大概的过程是这样的:你在浏览器是录入 URL 或者点击一个超链接后,浏览器会请求 DNS 服务器解析这个 URL,返回域名映射的IP,然后通过 HTTP 请求这个...但那时搞 web 编程还比较麻烦,什么 JSP,ASP,前端代码和后端代码杂糅在一起,就这么你离不开我我离不开你似的在 web 服务器上跑着,代码看上去不清爽,很多业务逻辑也没法被其它站点复用。 ?...这个时候,客户端就需要服务端提供的业务服务得是一个 API(应用程序访问接口),客户端可以直接发起请求,这时候 REST API 就派上用场了。 什么是 REST 呢?...REST 是一种设计思想,它的核心是资源,可以理解成在 REST 的世界里,万物皆资源。...在 REST 中,资源是通过 URL 进行识别和定位的。对资源的操作,是通过 HTTP 方法来定义的。
H5规范API 这里是微信小游戏 sdk 自己实现的,比如 canvas webgl。...激活转化率高高常见的开发团队配置研发2+美术1+策划*1研发1+美术1+策划*1常见代表跳一跳、欢乐斗地主、羊了个羊、动物餐厅、叫我大掌柜、咸鱼之王……QQ 抢车位、QQ 农场(偷菜)、围住神经猫……小游戏引擎值得注意的是,...游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。...小游戏的开发语言是 JavaScript,在引擎的底层就需要通过 JavaScript 调用绘制 API 和音频 API。...目前为止,小游戏虽然只有4岁,是一个新生儿。但是一定还会有很多可以深入探究的方面让我们去关注了解。
1.1 JSP 简介 1.1.1 概述 JSP(全称JavaServer Pages)是由 Sun Microsystems 公司主导创建的一种动态网页技术标准。...注意 JSP 的实质是一个 Servlet,所以无法双击直接打开.当浏览器请求对应的 JSP 时,JSP 经过转义形成对应的 java 文件,java 文件经过编译链接形成 .class 文件。....导入要使用的 Java 类 info 定义 JSP 页面的描述信息 isThreadSafe 指定对 JSP 页面的访问是否为线程安全 language 定义 JSP 页面所用的脚本语言,默认是 Java...如果您没有给文件关联一个路径,JSP 编译器默认在当前路径下寻找 1.4 JSP 动作 与 JSP 指令元素不同的是,JSP 动作元素在请求处理阶段起作用。...JSP 动作元素是用 XML 语法写成的。利用 JSP 动作可以动态地插入文件、重用 JavaBean 组件、把用户重定向到另外的页面、为 Java 插件生成 HTML 代码。
WebAssembly 真的是未来吗? 本文翻译自 Is WebAssembly Really the Future? Wasm 的前景比以往任何时候都更加光明。但接下来路线图会将我们引向何方?...云原生计算基金会 (CNCF) 最近的年度调查包括关于 WebAssembly (Wasm) 的大胆声明:“容器是新常态,WebAssembly 是未来。”...“第二个是它的技术价值主张。它是否吸引了足够多的开发人员并解决了足够多的技术难题,让他们承担使用 Wasm 作为其堆栈的一部分的开销?” 有 WASI 吗?...“更重要的是,组件模型是一种新的应用程序方法,它允许以能力为导向的安全性,并使平台运营商更容易安全地运行应用程序。”...两者之间的权衡使得两者同步增长是合理的。”
前言 Python的列表是我们常常使用的一种内置数据结构,其索引的使用可以让我们能很轻松的获取列表中的元素值,索引看上去就很像数组的内容,让我不禁有个疑问,列表是数组吗?...证明一 我们来看下数组的定义,数组是用一组连续的内存空间,来存储一组具有相同类型的数据。...证明二 我们知道数组是连续的内存,那同样存储3个元素,3个元素是int和3个元素是str,那占的内存空间大小肯定不一样,我们来看看列表。...就需要扩容,申请一个大的空间,再将数据迁移过去,那实际上是这样吗?...; 第二部分就是真正存放元素的地址,但是存放的是各元素的指针,或者说是引用(所以a和b中的1这个元素的id是一样的),引用的字节大小是一样的,所以列表有数组的索引功能,也同时能证明一和二的问题。
最近常看到有些人说他们是敏捷团队,但仔细了解一下他们的工作方式和环境,确实不敢恭维为敏捷团队。...你能很随意的表达你对某个工作的看法吗?比方时间估算,或者不太清楚这个工作具体是要做什么,也或者你觉得这个工作怎么做比较效率高 你们有每个迭代回顾会议吗?会议上你能自由的说出自己的想法吗?...好的改进建议,下次迭代会实施吗? 你有做代码的每日签入和集成吗? 你知道这次迭代,软件交付的时间和地点吗? 你有机会和PO交流吗?在你不懂某个用户故事的范围,怎么才算完成时,PO会解释给你听吗?...你有参与每次的计划会议吗?计划会议你有表达想法和估算时间的权力吗? 你明确知道每个任务怎么才算完成了吗?是代码写完?测试全部通过?还是文档需完备,且相关人员Review过?...发现问题时你是一个人在埋头苦干不吭声还是在队友讨论,或Scrum master帮忙? ... 就敏捷性的一些重要点,我也写了一个mind map. 因为习惯了英文思维,所以是英文的,都简单英文 ?
无论是在线和离线视频都是一个非常好的学习提升自己的路径。 在前段时间的学习过程里,我不禁问了自己一个问题:视频学习是主动学习还是被动学习? 先让我们看一下两者的区别。...主动学习 主动学习是一种学习者重度参与的学习方式,是一种以学习者为中心的学习方式。学习者需要以探索者的角色进入学习状态,需要自己的思考、判断,方能融会贯通。...被动学习 被动学习是传统的学习方法,学生很少参与。环境通常以教授者为中心。学者需要通过被动地接受知识。 从学习效率讲,自然是主动学习效率最高。所以我才会有自己的疑问。...个人体验 主动学习是需要自己调动自己的注意力,放在学习上,或者源于自身的兴趣,总而言之是需要投入较多精力和注意力的。...以上是我总结视频学习的经验,欢迎有兴趣的一起交流。
随机森林(Random Forest)是将多个决策树(Decision Tree)组合在一起形成一个强大的分类器或回归器,是一种集成学习(Ensemble Learning)方法。...随机森林的主要思想是通过随机选择样本和特征来构建多个决策树,并通过集成这些决策树的预测结果来达到更准确的分类或回归结果。...鲁棒性强:随机森林对于噪声和异常值具有较好的容错能力,因为它的预测结果是基于多个决策树的综合结果。...总的来说,随机森林是一个强大的机器学习方法,它通过构建多个决策树,并根据一定规则进行集成,以提高模型的准确性和稳定性。喜欢点赞收藏,以备不时之需。
目录 Git 的概念 Git 的特点 Git 的下载 几个常用 Git 命令的使用 Git 的概念 Git 是一个开源的分布式版本控制系统,是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件...图中可看到有三种操作系统可供下载,我是windows操作系统,所以选择了第2个 点击后浏览器就会自动帮你下载,稍微等一下就ok了~ ?...,因为之后对仓库里的文件进行操作时,它的信息是要跟这个捆绑在一起的 git config --global user.name '用户名' git config --global user.email...这图是 github 上的,gitlab 也是一样的 然后 1 是通过 http 地址下载,2 是通过 ssh 方式下载,点击 3 处就可以复制 这里要提醒的是:如果使用ssh方式下载的话,要先配置好...ssh 密钥,不然是没用的 配置方式这里不作讲解 在本地创建 git 仓库 进入到保存git仓库的文件夹,然后执行以下命令: git init '仓库名字' 运行命令后在当前目录下会生成一个文件夹,
cout << "non-atomic value:" << value << endl; return 0; } atomic value 一定是 0,但 non-atomic 的结果是看...cpu 心情的: atomic value:0 non-atomic value:269 atomic value:0 non-atomic value:-2027 我们知道 i++ 是:先复制,再自增...,再返回复制结果;++i 是只自增。...-main .ident "GCC: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0" .section .note.GNU-stack,"",@progbits 这三行是
声明式事务管理是通过AOP实现的,其本质是在目标方法执行前后进行拦截。在执行方法之前创建或加入一个事务,在方法执行结束后根据情况选择提交或回滚事务。...**注意是不建议过度使用,是过度使用**首先,由于声明式事务通常是通过注解或配置实现的,这可能导致一个问题,即开发者有可能忽略了该事务。**事务被忽略会带来什么问题呢?...@Transactional 失效异常被捕获导致 @Transactional 失效数据库引擎不支持事务详情可参考文章:Spring事务失效的12种场景总结对于上述问题,若使用编程式事务,则很多情况是可以避免的...或许您也曾有此经历,我是深受其害的一位。由于Spring事务基于AOP实现,在编码中,我们可能涉及多个切面,这些切面各自处理不同事务,相互影响。...我们能做的,是尽力通过机制或规范,减少或降低此类问题的发生几率。实际上,若对阿里巴巴发布的Java开发手册有过深入研读,便会发现其中很多规约非常珍贵,有些内容可能不易理解,甚至显得有些生硬。
领取专属 10元无门槛券
手把手带您无忧上云