JSP

定义

JSP(Java Server Pages),是一种运行在服务端,使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。
动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码
JSP 网页就是用另一种方式来编写 Servlet。除了解释阶段外,JSP 网页几乎可以被当成一个普通的 Servlet 来对待

特点

  • 以 Java 语言作为脚本语言;
  • JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序
  • JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上

执行的过程

服务器对JSP页面的请求处理过程:

这里写图片描述

  • 浏览器发送一个 HTTP 请求给服务器。

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

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

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

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

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

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

  • 浏览器处理 HTTP response 中动态产生的HTML网页,和在处理静态网页一样。

基本语法

页面结构

在HTML中插入JAVA程序构成

  • Tmeplate data
    JSP引擎不处理的部分,如HTML的内容。这些数据会直接传送到客户端的浏览器
  • JSP元素
    <% JSP元素内容 %>,由JSP引擎处理,必须符合JSP语法。
    • 注释
      HTML中的注释:< ! - -注释 - ->
      JAVA中的注释://, /**/
      JSP特有的注释:
      • 带有JSP表达式的注释:< ! - -注释 <%=表达式%> - ->
      • 隐藏的注释:<% - - 注释 - -%> //浏览器查看源代码也看不到
    • 脚本元素
      脚本元素是嵌入到JSP程序中的java代码,客户端不可见,由服务器执行
      • 声明标识
        <% ! 声明; %>,用于声明变量和定义函数
      • JSP表达式
        <% = 表达式 %>,由服务器计算,返回结果后,在客户端浏览器显示
      • 脚本程序
        <% 程序代码片 %>,服务器执行的代码,得到结果后,在客户端浏览器显示
    • 指令标签
      指令标签用于提供和JSP页面相关的信息,设置整个JSP页面范围内有效的属性,例如页面的编码方式、语法、信息等
      <%@ 指令 属性1 = “值1”,属性2=“值2”……%>
      常用指令:
      • page:设定整个JSP页面的一些属性和他们的值
        属性: language,import,contentType……
      • include:在该指令位置,静态插入一个文件,该文件可以是JSP文件、HTML文件、文本文件,Java文件等
        属性:file
      • taglib:开发者自定义新的标签
        属性:uri,prefix
    • 动作元素
      动作元素也成为动作标签,用于实现特殊的功能,语法以XML为基础,使用时区分大小写。
      <jsp:动作元素>
      • <jsp:include>:向当前页面中包含其他文件
        属性:page,flush

      • <jsp:forward>:将客户请求转发到另外一个JSP,HTML或相关的资源页面上,该元素所在的当前的页面将不再被执行

      • <jsp:param> <jsp:params>
        向需要包含的动态页面或要转向的页面传递参数
        区别:
        <jsp:param>:经常与其他元素,如<jsp:include>,<jsp:forward>一起使用
        <jsp:params>:只能和<jsp:plugin>一起使用,用于向Applet或Bean传递参数

      • <jsp:plugin>,<jsp:fallback>:
        在页面插入Java Applet小程序或者javabean对象,它们能够在客户端运行
        当使用<jsp:plugin>加载Java小程序或者javabean失败时,可以通过<jsp:fallback> 向用户输出提示信息,因而两者经常一起使用

内置对象

JSP内置对象指在JSP中内置的、无需定义即可在页面中直接使用的对象,由JSP容器自动提供

  • 请求对象:request
  • 响应对象:response
  • 会话对象:session
  • 多客户端共享对象:application
  • 输出对象:out
  • 页面对象:page
  • 页面上下文对象:pageContext
  • 配置对象:config
  • 异常对象:exception

JSP中应用JavaBean

  • 创建JavaBean
    <jsp:useBean id=“给javabean实例起的名字” class=“java的类名” scope=“JavaBean实例的有效范围” />
  • 设置并获取JavaBean属性
    <jsp:setProperty name=“JavaBean实例” property=“JavaBean实例的属性” />
    <jsp:getProperty name=“JavaBean实例” property=“JavaBean实例的属性” value=字符串 />
    <jsp:getProperty name=“JavaBean实例” property=“JavaBean实例的属性” value="<%= expression%>" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值