jsp

本文详细介绍了JSP作为Servlet的高级扩展,如何通过Java脚本语言在网页上显示动态内容。阐述了JSP页面的构造,包括指令元素、脚本元素、动作元素和注释的使用,以及它们在页面开发中的作用。
 

Jsp是servlet更高级的的扩展

一、jsp概述

以java为脚本语言、建立在servlet提供的功能上的动态元素,用来在网页上显示动态内容

由java程序片段或jsp标记等构成jsp网页

二、jsp页面的构造

jsp页面就是带有jsp元素的常规web页面,它由静态内容(即:html元素)和动态内容(指jsp元素,包括:指令元素、脚本元素、动作元素、注释等内容)构成

2-1、指令元素

主要用于为转换阶段提供jsp页面相关消息的,指定了页面本身的消息,在请求期间一直保持不变

所有的jsp指令元素的作用范围为当前的jsp页面,及指令元素只影响当前的这个jsp页面,对其他的jsp页面没有影响

语法:<%@ directive{sttr=”value”}*%>

指令元素有三种:page、include、taglib

2-1-1、Page:该指令用于整个页面,定义与页面相关属性,他是jsp页面和容器的通信员

该指令可以出现在页面的任何位置,无论出现在哪里,作用范围都是整个页面,

语法:<page >

属性:共有13个,大小写敏感

常用的有:import=“导包列表“,language=”“,contentType=”“、pageEncoding=””,session=”“,buffer=”“,autoFlush=”“

errorPage=““、isErrorPage=”“,

Import属性视为一个可以再同一个页面中出现多次的属性

2-1-2、Include:用于在jsp页面中包含一个文件,该文件可以是jsp页面、html网页、文本文件或者一段java代码,用它可以简化压面代码

扩展:<%@include>指令元素,静态包含,发生在转换之前,只发生一次

<jsp:include>动作元素,动态包含,在每次提请求的时候发生包含

                                   2-1-3、Taglib:

              2-2、脚本元素

使用脚本元素可以将java代码潜入大jsp页面中,这写java代码将会出现在由当前jsp页面生成的servlet中,时jsp将静态内容和动态内容分离出来

2-2-1、表达式:<%=表达式%>

2-2-2、脚本:<%java代码段%> <%可能是不完整的代码段%>,只要在整个的jsp页面中是完整的即可

2-2-3、声明:是用来定义当前jsp页面全局变量和方法

该标签中定义的变量为jsp页面全局变量,jsp转换成servlet后,定义的变量变成servlet中的类变量,方法变成servlet中的方法

语法:<%!  %>

              定义的变量后面加逗号,定义的方法后面不用加逗号。

2-3、动作元素:就是自定义标签   例如:<jsp:useBean>  冒号之前是  冒号之后是

动作是特殊的标记,通过一个动作标记可以实现多行java代码实现的效果。可以动态插入文件、重用javaBean组件。导向另一个页面等。

动作元素和指令元素不同,动作元素是客户端请求时动态执行的,每次客户端请求时可能都会被执行一次,而指令元素是在编译时被编译执行,他只会被编译一次。

2-3-1、<jsp:useBean>

useBean动作用于创建引用,并将现有的bean组件嵌入jsp。

从形式上看,javabean与一般的普通的java类没有什么特别大的区别,但是需要满足两个条件:2-1、首先类是公有的,有一个默认的无参的构造方法。2-2、其次在类中可以若干私有的属性,但是需要通过公有的getter/setter方法对这些属性进行赋值和取值,并且getter/setter方法不能重载。

满足了上述两个条件的类就可以称为javabean类。Javabean类中除了getter/setter方法外也可以包含其他一些方法

语法:<jsp:useBean id=”” class=”” scope=””/>

在执行时,web容器会检查这个javabean的对象是否已经存在,如果存在就是用存在的javabean对象,反之生成一个新的javabean对象

2-3-2、<jsp:setProperty>

Setproperty动作用于设置usebean中指定的bean的属性的值。

Setproperty动作指定javabean的名称

语法:<jsp:setproperty property=”bean对象的属性名” name=”” value=”’ >

<jsp: usebean id=”类对象”alss=”类所在的包”sope=”范围

等价于

Cope=“pge|request|session|application”可以取四个值

Book book=(Book)cope.getAttribute("book");

             if(book==null){

            //Book book=new Book();

            //cope.setAttribute("book",book);

            /}

            /return book;

 

<jsp:setProperty property="isbn" name="book" param="isbn"/>

为属性赋值:param=““;这个是利用请求对象为其赋值,等价于String bean=aram();bean。Setxxx();

当request中的参数名和bean对象中的属性名一模一样的时候

<jsp:setproperty property=”” name=””/> 用request对象中对应的参数给bean对象赋值

2-3-3/<jsp:getproperty property=”bean对象的属性名” name=”” value=”’>

具有输出的功能  等价于Out.println(对象.getxxx());

 

2-3-4、<jsp:include page=”被包含的页面的url地址”>发生在每个客户端提交请求的时候,会产生两个servelt

注:《include file=” 被包含的页面的url地址”>这是一个指令元素也可以包含一个页面,发生在jsp转成servlet的时候,只会有一个servlet生成

Include动作是将其他的html页面或者jsp页面

       2-4、注释

              2-4-1、html注释

                            <!--  à

                            会被发送回客户端不会被浏览器解析

              2-4-2、jsp页面注释

                            <%--       --%>

                            会被发送回浏客户端的,客户在查看源代码时不能看见注释

              2-4-3、java注释

                            单行://

                            多行:/*   */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值