JSP(工作原理,组成部分,指令标签,动作标签,隐式对象)

目录

  • JSP

JSP

什么是JSP

  • JSP全名为Java Server Pages
  • 中文名叫java服务器页面
  • 它是在传统的网页HTML文件(.htm,.html)中插入Java程序段和JSP标记
  • 后缀名为(*.jsp)。
  • 其根本是一个简化的Servlet设计

为什么要有JSP

  • 直接使用Html文件是没有办法输出Java当中的信息
  • 使用servlet来去输出一个网页非常的麻烦
  • 于是就出现了jsp,又能写html,又能写Java代码

JSP的工作原理

设置JSP创建时的编码

  • 本质就是一个servlet
  • jsp在第一次被访问时会被Web容器翻译成servlet

? 1.第一次访问

? 2.index.jsp

? 3.index_jsp.java

? 4.编译成index_jsp.class运行

? 5.可以在Tomcat的work目录中可以找到

? 6.下次一访问时, 会看一下里面的内容有没有发生变化,如果变化了, 从新翻译加载

? 7.整个过程是全局web.xml当中有一个叫

? 8.翻译的过程就是JspServlet做的

JSP的组成部分

  • 静态数据,如HTML
  • JSP脚本元素和变量
  • JSP指令,如include指令
  • JSP标签动作
  • 用户自定义标签

JSP脚本元素和变量

在JSP当中写Java代码
<%java代码%>
    内部的java代码翻译到service方法的内部
<%=java变量或表达式>
    会被翻译成service方法内部out.print()
<%!java代码%>
    会被翻译成servlet的成员的内容
JSP注释
HTML注释:<!--注释内容-->
        可见范围 jsp源码、翻译后的servlet、页面
Java注释
        //单行注释
        /*多行注释*/
        可见范围 jsp源码 翻译后的servlet,页面中看不到
Jsp注释
        <%--注释内容--%>
        可见范围 jsp源码可见

JSP指令

什么是指令
  • JSP指令用于设置整个JSP页面的相关信息
  • 以及用于JSP页面与其它容器之间的通信
page指令
  • 用于设定整个JSP页面的属性和相关功能

?

page指令共有11个属性
contentType
    contentType属性指定JSP页面的MIME和编码格式
pageEncoding
    pageEncoding属性用来指定JSP文件的编码格式
import
    在JSP中引入Java的包和类,多个包之间以逗号隔开
session
    指定当前页面是否能获得当前用户的session对象
    缺省是true
    如果指定为false,那么在该页面中无法使用session,使用的话会提示500错误
errorPage
    如果当前页面发生异常
    网页会重定向到errorPage所指定的页面进行处理
isErrorPage
    允许指定的JSP页面为错误处理页面
language属性
    指定页面中使用的脚本语言种类
    目前只支持java
extends
    用于指定该JSP生成的servlet继承自哪个父类
    必须指定包名加类名
buffer
    用来设置输出流缓冲区
    缓冲区的作用就是为了提高IO性能
    也就是说减少write的次数
autoFlush
    用来指定当输出流缓冲区满了的时候,是否自动刷新缓冲区
isThreadSafe
    缺省值为true
    指定该JSP文件是否支持多线程访问
info
    用来设置该jsp文件的介绍信息
isELIgnored
    用来标示是否支持EL表达式
    多个属性之间使用空格隔开
include指令

作用

  • 表示在JSP编译时插入一个包含文件或者代码的文件
  • include指令所包含的文件名不能是一个变量url,只能是静态的文件名

静态包含

  • 将两个jsp页面接着到一起, 然后再翻译成servlet
taglib指令

作用

  • 声明JSP文件使用了标签库

有哪些标签库

  • JSP标准标签库
  • 第三方标签库
  • 自定义标签库

标签动作

页面包含
?

<jsp:include page="被包含的页面"></jsp:include>
动态包含
各自翻译自己的页面,然后再引入

请求转发
?

<jsp:forward page="要转发的资源"></jsp:forward>

隐式对象

jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕

?

out
    out的类型:JspWriter
    out作用就是想客户端输出内容 out.write()
    out缓冲区默认8kb
    可以设置成0 代表关闭out缓冲区内容直接写到respons缓冲区
    out写的内容写到out缓冲区当中
    最后再把out缓冲区当中的内容合并到response缓冲区当中

request
    得到用户请求信息对象

response
    服务器向客户端的响应对象

config
    服务器配置,可以取得初始化参数

session
    用来保存用户会话的信息

application
    所有用户的共享信息,就是servletContext

page
    指当前页面转换后的Servlet类的实例

pageContext
    jsp页面的上下文对象
    是一个域对象
        setAttribute(String name,Object obj)
        getAttribute(String name)
        removeAttrbute(String name)

    可以向指定的其他域中存取数据
         setAttribute(String name,Object obj,int scope)
         setAttribute(“name”,"lk",PageContext.REQUEST_SCOPE);
         getAttribute(String name,int scope)
         getAttribute("lk",PageContext.REQUEST_SCOPE)
         removeAttrbute(String name,int scope)
         findAttribute(String name)
            自动到所有的域当中找数据
            从小到大的范围搜索数据
            依次从pageContext域,request域,session域,application域中获取属性
            在某个域中获取后将不在向后寻找

    可以获得其他8大隐式对象
        pageContext.getRequest()
        pageContext.getSession()
exception
    表示JSP页面所发生的异常,在错误页中才起作用
    只有是错误页面的时候,才会有该对象

原文地址:https://www.cnblogs.com/mumuyinxin/p/10604216.html

时间: 2024-10-10 20:19:23

JSP(工作原理,组成部分,指令标签,动作标签,隐式对象)的相关文章

JSP与EL隐式对象

一,JSP隐式对象 隐式对象是可以直接使用的,无需声明.因为在JSP转译为servlet文件后,会自动声明其对象. 隐式对象① 说明 out 对应JspWriter对象,其内部关联一个PrintWriter对象② Request 对应HttpServletRequest对象 Response 对应HttpServletResponse对象 Config 对应ServletConfig对象 Application 对应ServletContext对象 Session 对应HttpSession对象

JSP基本语法总结【1】(jsp工作原理,脚本元素,指令元素,动作元素)

时隔半年,回头对jsp复习整理一下,温故而知新. jsp工作原理: jsp服务器管理jsp页面分两个阶段:转换阶段(translation phase)和执行阶段(execution phase). 客户发送请求时,服务器检验jso语法是否正确,然后转换成servlet源文件,然后调用javac工具类便宜servlet源文件生成class文件,此阶段为转换阶段. 接下来,servlet容器加载转换后的servlet类,实例化一个对象来处理客户端的请求.请求处理后,响应对象被jsp服务器接收,服务

JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构

一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标签及文本 2. 脚本:写JAVA代码,<% %> 3. 表达式:用于输出变量及表达式,<%= %> 4. 注释:分为三种 a) <!-- --> :JSP翻译成Servlet时也将进行翻译.页面中也有. b) <% /*.......*/ %>:JSP翻译成Se

Java Web基础:JSP工作原理和基础概念

JSP介绍 JSP全称是Java Server Pages,它和Servlet都是Sun公司定义的用于开发动态Web资源的技术,它解决了Servlet输出流排版复杂和难以维护的问题.JSP完美融合了HTML模版元素和Java代码,通过JSP写服务端输出变得和写HTML网页一样容易. JSP通过涵盖HTML模版元素来简化输出排版,还提供不同的JSP标签管理不同类型的Java代码,除此之外,它还默认封装了9大隐式对象,帮助提高开发的效率. JSP本质上是Servlet,当用户请求JSP时,JSP引擎

JSP中的编译指令和动作指令的区别

JSP中的编译指令和动作指令的区别 1.编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本,是JSP脚本标准化写法

JSP中的编译指令和动作指令的差别

JSP中的编译指令和动作指令的差别 1.编译指令是通知Servlet引擎的处理消息.而动作指令仅仅是执行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本,是JSP脚本标准化写法

JSP工作原理

一.JSP工作原理 1.首先是利用客户端浏览器,然后由客户端浏览器请求JSP页面,向JSP服务器发出请求. 2.JSP服务器内部原理 JSP服务器首先在收到客户端传送过来的请求后,将命令转换到Servlet文件(JAVA文件),然后执行Servlet文件,生成.Class文件,然后将执行结果以HTML的格式发送到浏览器上. 3.客户端浏览器接收到Servlet发送过来的内容,并将其显示到页面中.

JSP运行原理和九大隐式对象

每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用. 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响. JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的

JSP页面以及JSP九大隐式对象

?JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. ?JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据. ?Jsp快速入门:在jsp页面中输出当前时间. ?JSP模版元素 ?JSP表达式 ?JSP脚本片断 ?JSP注释 ?JSP指令 ?JSP标签 ?JSP内置对象 ?如何查找JSP页面中的错误