网站模型——servlet运行原理(二)

2019-12-10  本文已影响0人  zain丶月下

一、什么是servlet

servlet是web开发中的一个标准,主要是交互式地浏览和修改数据,生成动态Web内容。用更简短的来理解:servlet主要位于服务器端的语言,用来处理请求,调用业务逻辑到dao层,返回响应结果到view。servlet明显就是的controller层

二、servlet的生命周期

在这里应该有很多人以为,servlet为什么会有生命周期呢?我们在实际过程中,可以把servlet想象成一个类,类肯定就有生命周期。

  1. 实例化servlet,加载servlet的class
  2. 初始化servlet,调用init(),而且执行init方法,只执行一次
    ------------默认情况下,第一次被访问时,Servlet被创建,然后执行init方法;
    ------------可以配置执行Servlet的创建时机;
  3. 服务servlet,方法处理doGet和doPost方法。执行service方法,执行多次
  4. 销毁servlet,容器执行destroy销毁,只执行一次

三、请求方式

在servlet运行原理(一)种,我们能够看到一个请求从客户端到服务器再到客户端的详细过程,在执行中我们要问,什么是重定向,什么是请求转发?


在这里我们举例说明:小王来到4S店中想买一台法拉利跑车,店里只有销售员a。可是a只能销售奔驰跑车。但是客户既然来到了4S店。来了这样的客户我不能不转钱呀。我虽然没有销售法拉利跑车的权限。可是销售员b可以呀。这个时候销售员a面临二种选择:
第一种就是销售员a把小王的资料直接给销售员b;
第二种就是销售员a把小王的资料退还给小王,然后小王自己再去找销售员b;
在上面的例子中我们能够明显的区分到,第一种方式就是请求转发,第二种就是重定向。那他们有什么实际性的区别:

  1. 一个请求还是二个请求:在理解时,在上面的例子中。小王在第一种方式中只做了一次请求。第二种方式中,小王又得到资料再次请求
  2. 地址栏区别:第一种方式:小王请求销售员a.只请求了一次,小王-------销售员a的过程内部会执行 销售员a-------销售员b。所以地址栏还是小王------销售员a的地址
    第二种方式:小王资料被销售员a退回,小王又重新请求了销售员b。所以地址栏变为了小王--------销售员b的地址
四、doget和doPost区别

五、什么是JSP

  1. JSP是运行在服务端的语言。(在这里是不是和上面介绍的servlet很像,都是位于服务器。是的。我们可以把JSP当做一个servlet)
  2. 可以看做是servlet也有生命周期
扩展:JSP内置对象

jsp在被翻译成servlet时,类中会自动创建和初始化对象
HttpSession session = request.getSession();
ServletContext application = request.getServletContext();
在页面中可以直接使用内置对象。jsp内置对象有9种

上一篇 下一篇

猜你喜欢

热点阅读