当前Java Web的发展可以说进入到一个极为繁杂庞大的体系,各种框架层出不穷,但是究其本源,其实就是JSP/Servlet/Filter的一种精巧封装,因此了解其底层本质对学习框架并了解其工作原理是十分重要的。本文主要从底层细节开始,阐述Java Web中所需要接触到的底层技术细节。
第一是开发环境的搭建,这里不再复述。这里需要注意的是,J2EE本质上是一套接口规范,针对该接口规范各个产品有不同的实现途径和方法,因此这也是为什么在建立动态网站项目之后,直接书写JSP或者Servlet会报错的原因,因为我们项目并未引入特定的实现,故而如果是用Tomcat做服务器,那么我们就该把对应的servlet.jar和jsp.jar引入到项目中。至于Tomcat无法启动,或双击startup.bat会闪退,一般情况下建议使用CMD命令提示符运行该bat,这样可以报错,多数情况下是找不到JAVA_HOME或JRE_HOME。不过在安装Java时大家都会配置好环境变量,这种错误算是比较少见。如果实在不行,可以用记事本打开startup.bat,直接将JAVA_HOME和JRE_HOME变量硬写到bat中。
第二JavaWeb的底层技术核心是Servlet,Servlet的运行原理本质上相当于远程方法调用,即调用服务器端某一个方法(函数),产生并输出HTML。
第三Servlet技术虽然是最核心的,但是却不是最方便的。后续可以看到,为生成一个HTML页面,Servlet代码中会硬写入很多HTML代码,一方面不利于团队合作,无法将前端后端分离;另一方面当项目十分庞大时,维护代码变得十分困难,每一块的代码都是高度紧耦合的。因此为了实现页面更方便维护,1999年诞生了JSP规范,JSP与ASP/PHP等十分相似,但本质上却有很大的差异,实际上JSP技术是在Servlet技术上构建的,JSP页面会被JSP引擎自动翻译为Servlet,然后再提交给Servlet引擎执行,本质上JSP还是Servlet。这也体现出来Servlet技术是整个Java Web的核心。
原文地址:https://www.cnblogs.com/uestc-luopangzhi/p/10312195.html