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注释
单行://
多行:/* */
本文详细介绍了JSP作为Servlet的高级扩展,如何通过Java脚本语言在网页上显示动态内容。阐述了JSP页面的构造,包括指令元素、脚本元素、动作元素和注释的使用,以及它们在页面开发中的作用。
7万+

被折叠的 条评论
为什么被折叠?



