servlet/jsp(一) 原理和关系

小结了一下servlet/jsp(一) 原理和关系,方便自己加深印象,借用了网上两张图片做个伪原创。


一、servlet

1servlet需要容器的支持才能运行,如Tomcatjetty.
2
、达到servlet的请求,需要ServletRequest对象和ServletResponse对象去处理。

3servlet在服务器中的运行:1.加载到内存->2.初始化(init()) - > 3.调用(service(){doGet/doPost}) - 4.销毁(destroy())其中(1)(2)(4) Servlet的整个生命周期中只会被执行一次

4、如果在web.xml中对servlet配置了load-on-startup,那么就是在容器加载时就将Servlet初始化,否则是接受第一次请求时再加载。

5、在web.xml文件中, Servlet可以通过元素和元素指定通过url的方式访问这些Servlet

6servlet工作原理:


servlet/jsp(一) 原理和关系_第1张图片


二、JSP

1JSPJavaServlet Page)其实就是servlet是从Servlet继承而来。只不过它在Servlet当中又添加/修改了一些方法,作了新的封装。

2、工作原理:

servlet/jsp(一) 原理和关系_第2张图片


流程图解释:
浏览器请求JSP页面,服务器用JSP 引擎将其解析成Servlet类的Java源代码文件,也就是*_jsp.java,再由Java编译器编译成一个字节码文件,也就是*_jsp.class,并装载到 jvm解释执行。剩下的就等同于 Servlet的处理过程了。


*_jsp.java文件就是servlet.java文件,包括 _jspInit()、_jspDestroy()、_jspService(request,response)三个方法,类比于servlet中init()、destroy()、service(request,response)三个方法


 

三、各自作用

现在JSP用来做页面视图的展现,servlet用于逻辑控制。MVC 架构模式中,就 JSP Servlet而言,C通常由 Servlet充当,V通常由 JSP来充当。



你可能感兴趣的:(web,servlet,JSP,原理和作用)