JSP

1.jsp是什么?

sun公司制订的一种服务器端动态页面技术规范。

因为虽然使用servlet也可以生成动态页面,但是过于繁琐(需要使用out.print输出),并且不利于页面的维护(要修改页面, 就需要修改java代码),所以,sun才制订了jsp技术规范。

jsp是一个以".jsp"为后缀的文件,该文件的主要内容是html和 少量的java代码。容器会将jsp转换成一个对应的servlet然后执行。 也就是说,jsp的本质就是一个servlet。

2.如何写一个jsp文件?

step1.添加一个以.jsp后缀的文件。

step2.在该文件中,可以添加如下内容:

html(css,js)

直接写即可。

java代码

  1. java代码片断。
    <% java代码 %>

  2. jsp表达式
    <%= java表达式 %>

隐含对象

a.什么是隐含对象?

可以直接使用的对象,比如out,request,response。

b.为什么可以直接使用这些隐含对象?

因为容器会自动添加获得这些对象的代码。

c.有哪些隐含对象?
out,request,response,session,application,pageContext,config,exception,page

  • pageContext(页面上下文 a2.jsp,a3.jsp): 容器会为每一个jsp实例创建唯一的一个符合
    PageContext接口要求的对象,该对象一般称之为页面上下文。
  • 页面上下文有两个特点:
    1. 唯一性: 一个jsp实例对应一个pageContext。
    2. 持久性: 只要jsp实例还在,pageContext就会一直存在。
      作用1: 绑订数据。
      作用2: 提供了一些方法,用来获得其它所有的隐含对象。

注:绑订到pageContext上的数据不能否被共享,只能被对应的jsp实例访问到。

  • config(a4.jsp): ServletConfig
  • exception(a5.jsp,a6.jsp):
    用来获异常的一个简短的描述。
  • page(了解):
    jsp实例本身(jsp对应的servlet对象)

指令

  • 什么是指令?

    可以通过指令告诉容器,在将jsp转换成servlet代码时,额外
    做一些处理,比如导包。

  • 指令的语法

    <%@ 指令名 属性=值 %>
    如果有多个属性,用空格隔开。

  • page指令

    import属性:导包,比如<%@ page import=“java.util.,java.text.”%>
    contentType属性:设置response.setContentType的内容。
    pageEncoding属性:告诉容器,在读取jsp文件的内容时,使用指定的字符集来解码。
    errorPage属性:指定一个异常处理页面。当当前页面发生异常,则容器会调用异常处理页面。
    isErrorPage属性:缺省值是false,如果值为true,则可以使用exception隐含对象。
    session属性:缺省值是true,如果值为false,则容器不再添加获得session对象的代码了,也就是说不能够使用session隐含对象了。

  • include指令

    告诉容器,在将jsp转换成servlet代码时,将file属性指定的文件的内容插入到该指令所在的位置。
    file属性: 指定文件的位置。

注:
被包含的文件,如果是jsp,不会执行。

  • taglib指令:引入jsp标签。

在这里插入图片描述

注释

a. <!-- 注释内容 -->
被注释的内容如果是java代码,java代码会执行。
b. <%-- 注释内容 --%>
被注释的内容如果是java代码,java代码不会执行。

3. jsp是如何运行的?

step1. 容器将jsp转换成一个servlet(.jsp–>.java)。

html(css,js) ------> 在service方法里面,使用out.write输出。
<%         %> ------> 照搬到service方法里面。
<%=        %> ------->在service方法里面,使用out.print输出。

step2. 容器再调用该servlet。

容器需要对其进行编译,然后实例化、初始化、调用、销毁。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值