【web服务器】【Tomcat】【servlet】【jsp】【freemarker】执行原理梳理

web服务器

web服务器:web服务有apache 、tomcat等多个

Apache和Tomact的联系

1)Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持php,
还可以与Tomcat连通(Apache单向连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然)。    
2)Apache只支持静态网页,但像Jsp动态网页就需要Tomcat来处理。  
3)Apache和Tomcat整合使用:    
如果客户端请求的是静态页面,则只需要Apache服务器响应请求;    
如果客户端请求动态页面,则是Tomcat服务器响应请求,
将解析的JSP等网页代码解析后回传给Apache服务器,再经Apache返回给浏览器端。    
这是因为jsp是服务器端解释代码的,Tomcat只做动态代码解析,Apache回传解析好的静态代码,
Apache+Tomcat这样整合就可以减少Tomcat的服务开销。  
4)Apache和Tomcat是独立的,在同一台服务器上可以集成。

Apache和Tomact的区别

Apache是有C语言实现的,支持各种特性和模块从而来扩展核心功能;Tomcat是Java编写的,更好的支持Servlet和JSP。

  • Apache是Web服务器,
  • Tomcat是运行在Apache上的应用服务器
  • 他是servlet(jsp也翻译成servlet)容器,可以认为是Apache的扩展,但是可以独立于apache运行。
  • Apache侧重于http server,Tomcat侧重于servlet引擎
  • Apache可以运行一年不重启,稳定性非常好,而Tomcat则不见得
  • apache不能解析java的东西,但解析html速度快。

  • Apache和tomcat之间关系的事例

Apache是一辆车,上面可以装一些东西如html等,但是不能装水,要装水必须要有容器(桶),而这个桶也可以不放在卡车上,那这个桶就是TOMCAT。

servlet的执行原理和生命周期

servlet就是一个接口,定义了java类被浏览器访问到(被Tomcat识别)的规则
主要负责接收浏览器的请求,tomcat服务器调用servlet方法

  • servlet的执行原理图
    在这里插入图片描述

jsp和servlet关系

  • jsp和servlet区别

JSP侧重视图,Sevlet主要用于控制逻辑。
Servlet中没有内置对象 。
JSP中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。

jsp的执行流程

在这里插入图片描述

  • jsp执行流程解说
  1. 浏览器发送一个请求
  2. web服务器判断是否是一个jsp请求
  3. 如果是一般的html页面,则直接返回给浏览器这个页面
  4. 如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,如果该页面是第一次被请求、或不是第一次被请求但已被修改,则JSP引擎将此JSP页面代码转换成Servlet代码,
  5. JSP引擎调用服务器端的Java编译器javac.exe对Servlet代码进行编译,把它变成字节码(.class)文件
  6. 再调用JAVA虚拟机执行该字节码文件
  7. 然后将执行结果传给Web浏览器端。
  8. 如果该JSP页面不是第一次被请求,且没有被修改过,则直接由JSP引擎调用JAVA虚拟机执行已编译过的字节码.class文件,然后将结果传送Web浏览器端。

freemarker执行原理

将页面中所需要的样式放入FreeMarker文件中,然后将页面所需要的数据动态绑定,并放入Map中,通过调用FreeMarker模板文件解析类process()方法完成静态页面的生成。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值