zoukankan      html  css  js  c++  java
  • JSP——基础,处理流程

    1.JSP基础

    WEB 项目开发中JSP 占据着举足轻重的地位,虽然其使用很简单,但是非常的重要。

    1)问题:

    在学习了Servlet 之后,使用Servlet 进行页面的展现,代码书写过于麻烦。极大的影响了开发的效率,那么有没有一种方式可以让我们像以前写网页一样来进行网页的编程工作呢?

    解决:

    使用JSP 技术

     

    2)概念:

    JSP 全名为Java Server Pages,中文名叫 java 服务器页面,其根本是一个简化的Servlet 设计,它 [1] 是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。

    3)特点:

    本质上还是Servlet

    跨平台,一次编写处处运行组件跨平台

    健壮性和安全性

    4)Jsp 的访问原理:

    浏览器发起请求,请求 JSP,请求被 Tomcat 服务器接收,执行JspServlet 将请求的 JSP 文件转义成为对应的 java 文件( 也是Servlet),然后执行转义好的java 文件。

    5)Jsp 的语法和指令:

    JSP 的page 指令

    JSP 的taglib 指令

    Jsp 的局部代码块

    Jsp 的全局代码块

    Jsp 的注释

    Jsp 的静态引入(JSP 的include 指令)

    Jsp 的动态引入

    页面转发(forword 标签)

    Jsp 的内置对象: PageContext 对象Request 对象

    Session 对象Application 对象Response 对象Out 对象

    Page 对象

    Exception 对象

    Config 对象使用

    6)MVC

    M->MODEL->DATABASE

    C->Control->Servlet

    ------------------

    V->VIEW->JSP->(HTML/VUE)

    JSP 负责页面展现,视图的渲染

    Servlet 负责业务逻辑处理。

    2.JSP处理流程

    以下步骤表明了 Web 服务器是如何使用JSP来创建网页的:

    1、就像其他普通的网页一样,您的浏览器发送一个 HTTP 请求给服务器。

    2、Web 服务器识别出这是一个对 JSP 网页的请求,并且将该请求传递给 JSP 引擎。通过使用 URL或者 .jsp 文件来完成。

    3、JSP 引擎从磁盘中载入 JSP 文件,然后将它们转化为 Servlet。这种转化只是简单地将所有模板文本改用 println() 语句,并且将所有的 JSP 元素转化成 Java 代码。

    4、JSP 引擎将 Servlet 编译成可执行类,并且将原始请求传递给 Servlet 引擎。

    5、Web 服务器的某组件将会调用 Servlet 引擎,然后载入并执行 Servlet 类。在执行过程中,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 服务器。

    6、Web 服务器以静态 HTML 网页的形式将 HTTP response 返回到您的浏览器中。

    7、最终,Web 浏览器处理 HTTP response 中动态产生的HTML网页,就好像在处理静态网页一样。

    总结:

    一般情况下,JSP 引擎会检查 JSP 文件对应的 Servlet 是否已经存在,并且检查 JSP 文件的修改日期是否早于 Servlet。如果 JSP 文件的修改日期早于对应的 Servlet,那么容器就可以确定 JSP 文件没有被修改过并且 Servlet 有效。这使得整个流程与其他脚本语言(比如 PHP)相比要高效快捷一些。

    总的来说,JSP 网页就是用另一种方式来编写 Servlet,除了解释阶段外,JSP 网页几乎可以被当成一个普通的 Servlet 来对待。

  • 相关阅读:
    使用kendynet构建异步redis访问服务
    使用kendynet编写网关服务
    作为前端,我为什么选择 Angular 2?
    你必须知道的Javascript 系列
    JS日期(Date)处理函数总结
    JS数组(Array)处理函数总结
    消息推送之APNS
    消息推送之GCM
    Linux常用命令大全
    Sequential Container
  • 原文地址:https://www.cnblogs.com/qq2267711589/p/11025792.html
Copyright © 2011-2022 走看看