JSP语言基础

JSP注释

1、客户端注释:<!--  客户端注释[<%=表达式%>] -->

2、服务器端注释 : <--  JSP页面注释 --> 或者  <%/* JSP页面注释 --*/%>

注意:在JSP注释中不可以出现“--%>”,否则会出现编译错误。一定要出现,需要使用“--%\>”替代。

JSP声明

<%! 声明代码 %>

JSP代码段

<% 代码段 %>

JSP表达式

<%=变量或表达式%>

注意:不能使用“;”作为表达式结束符号,声明中需要用分号来结尾。

          表达式元素可以是任何有效形式的java表达式。

JSP指令

page指令:

<%@ page attribute1="value1"  attribute2="value2"... %>

针对当前页面,能够控制从JSP页面生成的Servlet的属性和结构。

作用范围:整个JSP页面,但不能作用于动态的包含文件。

include指令

<%@ include file="文件路径" %>   file:指向需要引用的HTML页面或JSP页面。

file指定的页面路径必须是相对路径。如果路径以“/”开头,那么路径等同于参照JSP应用的上下文关系路径;

                                                       如果路径以文件名或者目录名开头,那么路径就是当前JSP文件所在的路径;

JSP的静态包含指令,可将一个外部文件包含到此JSP程序中。

在include指令中,包含页面和被包含页面同一类型的参数不能被定义两次。

作用:通常用来包含网站中经常出现的重复性页面,被包含文件中的任何一部分改变了,所有包含该文件的主JSP文件都需要重新进行编译。

taglib指令

<%@ taglib (uri="tagLibraryURI" | taglib="tagDir") prefix="tagPrefix" %>

允许页面使用用户自定义的标签。

uri属性:用来指定自定义标签库的存放位置。

tagdir属性:指示前缀(prefix)将被用于标识安装在/WEB-INFO/tags/目录或其子目录下的标签文件,一个隐含的标签库描述符被使用。

prefix属性:定义一个prefix:tagname形式的字符串前缀,用于区分多个自定义标签。

JSP动作

运行时包含某个文件,若是JSP文件,则先执行,然后将执行结果包含进来。

<jsp:include page="relative URL | <% =expression %>" flush="true" />

page属性:指明被包含文件的相对路径,必须为当前web项目内的文件。

flush属性:指读入被包含文件前是否刷新缓冲区,一般设置为true(JSP默认值为false)

<jsp:include>动作可以包含动态或静态文件,可以同时处理,不需要判断文件类型。

动态文件:需要JSP引擎编译执行

静态文件:简单把文件内容加到主JSP页面中。

forward动作

<jsp:forward>动作用于将用户的请求重定向到其他页面,即停止当前JSP页面执行,将客户端的请求转交给另一个JSP页面。

<jsp:forward page="重定向页面的URL">

page属性:页面相对地址,其值可以是静态的字符串,也可以是计算类型。

 <jsp:forward>动作把当前页面A重新导向页面B,客户端看到的地址是A 页面的地址,实际显示的是B页面的内容。

param动作

<jsp:param>动作是用来提供参数信息的。

<jsp:param name="参数名" value="参数值">

name属性:即参数的名称。

value属性:即参数值,这个参数值可以用于页面间的数据传递。

<jsp:plugin>动作是用于在客户端浏览器中执行一个Bean或显示一个Applet,这种显示需要浏览器的java插件。

JSP异常

JspError

JSP文件转换成Servlet文件时,出现的错误称为“转换期错误”。一般是语法错误。

JSPException

编译后的Servlet Class文件,在处理request请求 时,由于逻辑上的错误而导致“请求期异常”。

include指令和<jsp:include>有什么区别?

都是用来包含文件的,但原理和发生包含文件的时刻不同。

1、include指令是在JSP页面转化成Servlet时,即编译时包含,包含的是源代码。

2、<jsp:include>动作是在页面被请求访问时,即运行时包含,并且只包含运行结果。其包含文件的变化总会被检测到,更适合包含动态文件。

forward动作指令和HTML中的<a></a>超链接的区别?

<a></a>超链接:通过点击超链接,浏览器地址栏中地址会变化。

forward动作:通过java代码控制,浏览器地址栏中地址不会变化,传递的参数也不会在浏览器地址栏中显示。







猜你喜欢

转载自blog.csdn.net/qq_40722284/article/details/80741975