servlet,tomcat,浏览器,jsp
参考:
Servlet基础在浏览器上运行HelloServlet的方法/197588.htm
笔记:
-
Servlet是什么?servlet本身不能独立运行,需要在一个web应用中运行的而一个web应用是部署在tomcat中。开发一个servlet需要
- 创建web应用项目
- 编写servlet代码
- 部署到tomcat中
- 什么是servlet ?先看一下百度百科的定义: Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。 从开发的角度去理解,一个servlet就是一个接口,匹配对应的URL,实现对请求的处理响应数据
-
servlet的运行流程
如下图大白话描述一下就是
请求者(浏览器也可以是其他应用)通过一个URL地址发起HTTP请求
URL地址信息可以指向对应的服务器,服务器接收到请求后发送给对应的servlet处理
servlet处理后将响应信息返回到服务器
服务器将响应信息返回给请求者
请求者做出展示 - JSP与SERVLET区别
- JSP在本质上就是Servlet,但是两者的创建方式不一样。
- JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页。在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层。
- Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观。
- JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。
- Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP是Java和HTML组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
- 浏览器页面与tomcat的交互过程?
当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤:
- 将JSP页面翻译成一个Servlet,这个Servlet是一个java文件,同时也是一个完整的java程序;
- JSP引擎调用java编译器对这个Servlet进行编译,得到可执行文件class;
- JSP引擎调用java虚拟机来解释执行class文件,生成向客户端发送的应答,然后发送给客户端。
以上三个步骤仅仅在JSP页面第一次被访问时才会执行,以后的访问速度会因为class文件已经生成而大大提高。当JSP引擎接到一个客户端的访问请求时,首先判断请求的JSP页面是否比对应的Servlet新,如果新,对应的JSP需要重新编译。
- Servlet是由Web服务器调用,web服务器在收到浏览器请求之后,会: