美文网首页
JSP 动态网页

JSP 动态网页

作者: 夏海峰 | 来源:发表于2018-08-27 00:50 被阅读13次

    1、什么是 JSP ?

    Java 服务器页面(Java Server Page),它是由 SUN 公司倡导的一种动态网页技术标准,可以把它理解为 简化的 Servlet 设计,它实现了在 HTML 中的 Java 扩展。

    JSP = HTML + Java + JSP标签。即 .jsp 文件是由 HTML标签、Java代码和 JSP标签三者共同构成的。

    2、JSP 和 Servlet 的对比与异同

    前者更侧重于页面视图的表示,后者更侧重于逻辑的控制。
    前者的部分 API 是内置 Java语言中的,而后者在 Java语言中是没有内置对象的。
    从本质来讲,JSP 是 Servlet 的一种简化(因为经过 JSP 容器处理后,.jsp 文件最终还是被编译成了 Servlet,编译成了更为复杂的 Servlet 类文件)。Tomcat 既是 Servlet的容器,也是 JSP 的容器。

    3、JSP 的工作流程是怎样的?

    JSP的工作流程

    如上图示,当客户端请求 .jsp 文件时,JSP 容器收到请求后,会把 .jsp 文件转换成 Servlet 的 .java 文件,再编译成 .class 字节码文件,然后执行执行这个 Servlet 实例,最后再把 Servlet 的执行结果返回至客户端进行页面视图的显示。由此可见,JSP 确实是 Servlet 的简化。

    4、JSP 的基本语法

    JSP 语法构成

    除了静态内容以外,其它元素如 指令、注释、表达式、声明和脚本都是需要 JSP引擎解释并处理的。
    (1)JSP 声明:一个 JSP 声明语句可以声明一个或多个变量和方法,以供后面的 Java 代码使用。

    语法:<%! 一个或多个声明语句 %>
    示例:<%! int a, b, c; %>
    

    (2)JSP 表达式:表达式元素中可以包含任何符合 Java 语言规范的表达式,但是表达式的结尾不能使用分号。

    语法:<%= 表达式 %>
    示例:<p>Today's date: <%= (new java.util.Date()).toLocaleString() %></p>
    

    (3)JSP 脚本:脚本中可以包含任意数量的 Java 语句、变量、方法或表达式。

    语法:<% Java 代码片段 %>
    示例:<% out.println("Your IP address is " + req.getRemoteAddr()); %>
    

    (4)JSP 注释:注释主要用于为代码提供注释说明,以及将某段代码注释掉。

    语法:<%-- 注释 --%>
    示例:<%-- String name = "geekxia"; --%>
    

    (5)JSP 指令:所谓指令并不会直接产生任何输出,而是控制输出,以告诉 JSP 引擎如何做处理。

    page 指令:用于定义 JSP 页面中所需要的依赖属性,比如脚本语言、error 页面、缓存需求等。
    include 指令:用于引入当前 JSP 页面之外的其它静态资源文件或者 JSP 页面。
    taglib 指令:用于引入标签库的定义,还可以指定标签的前缀。
    

    5、Java 语言中有哪些内置的 JSP 对象?

    Servlet 在 Java语言中是没有内置对象的,JSP 在 Java语言中有如下 9 个内置对象,这 9 个内置对象在 .jsp 文件中可以直接使用。其中前 6 个对象与 Servlet 中的对象相同,后 3 个对象是 JSP 特有的。

    JSP 内置对象-1 JSP 内置对象-2

    JSP 测试示例代码如下:创建一个 .jsp 文件,并置于 Web项目的根目录。

    // hello.jsp
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    
    <%!-- 这是 JSP 注释 --%>
    <%! String name; %>
    你的 URL 地址是:<%= request.getRequestURI() %>
        
    <br />
    
    <%
        name = "geekxia";
        out.println("你的名字是:" + name);
    %>
    </body>
    </html>
    

    在如上的 .jsp 文件中,使用到了 page 指令、JSP注释、JSP 表达式、JSP 声明、JSP 脚本,还有 html 标签。在浏览器的地址栏中输入 "http://localhost:8080/servlet-lesson/hello.jsp" 即可访问测试。

    注:经过 JSP 容器(Tomcat)加工处理后得到的 .java 文件 和 .class 文件(即更为复杂的 Servlet 类文件),可以在 D:\Tomcat\work\Catalina 目录中查找并查看。


    本节完!!!

    相关文章

      网友评论

          本文标题:JSP 动态网页

          本文链接:https://www.haomeiwen.com/subject/gqgaiftx.html