web11-jsp

概述

简单概述

  • JSP(Java Servlet Pages)
  • 建立在Servlet规范之上的动态网页开发技术
  • 在JSP文件中,html和java代码共存。Html代码来实现网页中静态内容的显示,Java代码来实现网页中动态内容的显示
  • jsp只是在原有的html文件中加入了一些具有java特点的代码,这些代码具有其独有的特点,称为jsp的语法元素

和html的区别

  • 后缀名是jsp,而不是html
  • 比html多一条page指令
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
  • jsp文件必须发布到web容器中的某个web应用才能查看效果。

运行原理

jsp的工作模式就是请求/响应的工作模式。

  • 客户端发出HTTP请求,请求访问JSP文件。
  • JSP引擎(容器,本身也是一个Servlet)把该JSP文件转换成一个Java Servlet源文件。只有在访问的时候,才编译,而不是在启动的时候
  • 如果在转换过程中,发生语法错误,则中断转换,并将错误信息返回给客户端。
  • 如果转换成功,则JSP引擎会将Servlet源文件编译成字节码文件。编译后的java和class文件,tomcat的work目录下
  • JSP就是Servlet

脚本元素

JSP Scriptlets

  • 基本概述
    • JSP Scriptlets 就是 代码段。当需要java完成一些比较复杂的逻辑的时候,可以使用 JSP Scriptlets
  • 语法格式
    • <% java代码(变量、方法、语句等)%>
  • 注意事项
    • 在 JSP Scriptlets 中声明的遍历时JSP页面的局部变量。
    • 调用时分配空间,调用结束释放空间

JSP 声明语句

  • 基本概述
    • JSP 声明语句用于声明变量和方法
  • 语法格式
    • <%! 定义的变量和方法 %>
  • 注意事项
    • 声明语句中的代码会被编译在Servlet的_jspService()方法之外
    • 声明语句中声明的代码都是被编译成成员变量、成员方法、静态变量、静态方法
    • 一个JSP页面中可以有多个声明语句,一个声明语句可以是不完整的,但是多个声明语句组合起来必须是完整的。

JSP 表达式

  • 基本概述
    • JSP表达式用于将程序数据输出到客户端
  • 语法格式
    • <%= expression表达式 %>
  • 注意事项
    • 只能是表达式,不能插入语句
    • <%和=是完整的,不能有空格
    • 表达式中的变量或者表达式后面不可以加分号

JSP注释

  • <%-- 注释信息 --%>
  • 在编译成servlet时,会自动过滤掉注释信息;但是其页面的html注释不会被过滤掉

JSP指令

为了设置JSP页面的一些信息,SUN公司提供了一些JSP指令,总共三种:page、include、taglib。

page

通过page指令来确定页面的编码方式、语言等。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

page 常用指令:https://www.cnblogs.com/sharpest/p/10068832.html

  • 除import属性外,其他属性只能出现一次
  • page指令属性名称区分大小写
  • page指令对整个页面有效,与位置无关(习惯上写在第一行)

include

通过include指令来让一些静态文件(html、txt)等嵌入jsp页面

<%@ include file="被包含的文件地址" %>
  • include指令只有一个file属性
  • 被引入的文件必须遵循jsp语法

taglib

用于页面中引入标签库

JSP内置对象

为了JSP方便,JSP2.0规范了9个隐式对象
在这里插入图片描述

  • 通过pageContext对象可以获取其他八个内置对象
  • pageContext的作用范围有4个值,寻找其属性时,可指定;如果没有制定,就会从小往大获取。
  • JSP的四个域
    在这里插入图片描述

JSP动作标签

发布了26 篇原创文章 · 获赞 1 · 访问量 593

猜你喜欢

转载自blog.csdn.net/laonxs/article/details/104270223