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执行流程解说
- 浏览器发送一个请求
- web服务器判断是否是一个jsp请求
- 如果是一般的html页面,则直接返回给浏览器这个页面
- 如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,如果该页面是第一次被请求、或不是第一次被请求但已被修改,则JSP引擎将此JSP页面代码转换成Servlet代码,
- JSP引擎调用服务器端的Java编译器javac.exe对Servlet代码进行编译,把它变成字节码(.class)文件
- 再调用JAVA虚拟机执行该字节码文件
- 然后将执行结果传给Web浏览器端。
- 如果该JSP页面不是第一次被请求,且没有被修改过,则直接由JSP引擎调用JAVA虚拟机执行已编译过的字节码.class文件,然后将结果传送Web浏览器端。
freemarker执行原理
将页面中所需要的样式放入FreeMarker文件中,然后将页面所需要的数据动态绑定,并放入Map中,通过调用FreeMarker模板文件解析类process()方法完成静态页面的生成。