zoukankan      html  css  js  c++  java
  • JSP概述、API、注释

    JSP自带的API包含4个包,可通过Tomcat的官网查看,JSP和EL的API是分开的

    javax.servlet.jsp  // 包含用于Servlet/JSP容器将JSP页面翻译为Servlet的核心接口和类。
    javax.servlet.jsp.el  // 提供了一组必须由Servlet/JSP容器支持,以便在JSP页面中使用的表达式语言的类
    javax.servlet.jsp.target  // 包含用于开发自定义标签的类型
    javax.el  // 提供了统一表达式语言的API

    其中两个重要的接口是JspPage接口和HttpJspPage接口。HttpJspPage接口是JspPage接口的子接口,JspPage接口是Servlet接口的子接口。

    所有的JSP页面实现类必须实现JspPage接口或HttpJspPage接口。

    public interface JspPage extends javax.servlet.Servlet
    public interface HttpJspPage extends JspPage

    JSP页面的本质是一个Servlet。JSP页面在JSP容器中运行,一个Servlet容器通常也是JSP容器。

     JSP处理HTTP请求的过程

    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格式的输出并将其内嵌于HTML response 中上交给Web服务器。

    (6)Web服务器以静态HTML网页的形式将HTTP response返回到浏览器中,浏览器处理HTTP response中产生的HTML网页,就如同处理静态网页一样。

    通常情况下,JSP引擎会检查JSP文件对应的Servlet是否存在,并且检查JSP文件的修改日期是否早于Servlet,如果别修改过则该JSP页面会被重新翻译、编译并执行;如果没有被修改过,则执行已经在内存中的JSP Servlet。

    JSP页面包含两部分:

    1)JSP语法元素:由JSP容器处理的部分,这部分必须符合JSP语法规范,包括脚本元素、指令元素、动作元素、注释指令。

    2)模板元素:语法元素以外的都是模板元素,模板元素会原样发送给浏览器。

    在传统的HTML页面文件中,加入Java程序片段和JSP标签就构成了一个JSP页面文件,JSP页面中的程序片段代码是以 <% 和 %> 作为开始和结束标记的。

    JSP注释

    <%-- JSP容器会处理该注释,不会发送到浏览器 --%>
    <!-- JSP不会处理该注释,会发送到浏览器,由浏览器进行处理 -->

    一个JSP页面实例

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@ page import="java.util.Date" %>
    <%@ page import="java.text.DateFormat" %>
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Today's date</title>
    </head>
    <body>
    <%
        DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
        String date = dateFormat.format(new Date());
        out.println("Today is " + date);
    %>
    </body>
    </html>

    将该JSP页面放置在项目路径中,不需要部署描述符和注解,浏览器可以直接访问

    启动Tomcat服务器,通过浏览器访问

    该JSP页面翻译得到的Servlet存放在Tomcat的work/Catalina/...下

     JSP的API

  • 相关阅读:
    linux下shell显示-bash-4.1#不显示路径解决方法
    update chnroute
    An error "Host key verification failed" when you connect to other computer by OSX SSH
    使用dig查询dns解析
    DNS被污染后
    TunnelBroker for EdgeRouter 后记
    mdadm详细使用手册
    关于尼康黄的原因
    Panda3d code in github
    Python实例浅谈之三Python与C/C++相互调用
  • 原文地址:https://www.cnblogs.com/0820LL/p/9840311.html
Copyright © 2011-2022 走看看