当前位置 : 主页 > 编程语言 > java >

JSP基础和指令

来源:互联网 收集:自由互联 发布时间:2021-06-25
1.JSP (Java Server Pages)是指: 在HTML中嵌入Java脚本代码 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码 然后将生成的整个页面信息返回给客户端 特点: 1.程序逻辑和现实分离。
1.JSP (Java Server Pages)是指:
  • 在HTML中嵌入Java脚本代码
  • 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码
  • 然后将生成的整个页面信息返回给客户端

特点:

1.程序逻辑和现实分离。具有动态页面与静态页面的分离。
2.可重用组件
3.使用标签简化页面开发,JSP标记具有可扩展性
4.具有java的特点,所有的JSP页面都被编译成Servlet,如安全性,跨平台性,通过编译后执行,克服了ASP的脚本级解释执行的缺点。

2.JSP执行流程
a.用户(客户机)访问相应的JSP页面。
b.服务器找到相应的页面。
c.服务器将JSP转译成Servlet的源代码(.java文件)
d.服务器将Servlet源代码编译为class文件
e.服务器将class文件加载到内存并执行。
f.服务器将class文件执行后生成的HTML代码发送给客户机,客户机浏览器根据相应的HTML代码进行显示。

Web容器处理JSP文件请求需要经过3个阶段:
.翻译阶段.java
.编译阶段.class
.执行阶段
特点:第一次请求之后,Web容器可以重用已经编译好的字节码文件,不执行转译只执行响应请求;如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译 。

3.JSP 页面的元素包括:
声 明 :<%! 声明语句 %>
使用声明语句声明的变量为全局变量,当有多个用户执行此JSP页面时,将共享该变量。如果该变量有改变值的语句,不同浏览器访问的值会不一样。
方法声明后可在页面中多处调用

小脚本 :<% Java 代码 %>

表达式: <%=Java表达式 %>
JSP表达式标签不必也不能使用分号作为结束的标记。

注释 : <!-- html注释,但客户端可以查看到 -->缺点:不安全,加大网络传输负担
<%-- JSP注释,但客户端不能查看到 --%>
还可以在脚本中使用Java注释。不会在HTML源代码中显示

静态内容 :HTML静态文本

4.指 令:以“<%@ ” 开始,以“%> ” 结束。 page指令:主要用来设定JSP页面的全局属性,该配置作用为JSP整个页面。 语法:<%@ page 属性1="属性值" 属性2="属性值1,属性值2"… 属性n="属性值n"%> 1.<%@ page language="java" %> 声明脚本语言种类,默认是Java(目前只能Java) 2.<%@ page extends="继承的父类" %> 指定该JSP生成的Servlet继承哪个父类,很少使用。 3.<%@ page import="导入的包名" %> 导入的Java包,默认导入的包: java.lang.*; javax.servlet.*; javax.servlet.jsp.*; javax.servlet.http.*; 4.<%@ page session="false" %> 该JSP页面是否可以使用session对象,默认是true。 5.<%@ page buffer="40kb" %> 指定输出流是否具有缓冲区,设置为none表示输出流不具有 6.<%@ page autoFlush="true" %> 缓冲区是否进行强制输出,设置为true,那么当缓冲区满的时候仍能输出正常;设置为false,当缓冲区满到时候将会产生异常。 如果buffer属性设置为none,就不能将autoFlush设置为false。autoFlush默认属性为true。 7.<%@ page isThreadSafe="true" %> 指定该JSP文件是否支持多线程使用,默认为true。 8.<%@ page info="JSP文件相关信息" %> 设置该JSP文件的相关信息,可以是任何的信息字符串。 用Servlet.getServletInfo方法来获取该信息。out.println(getServletInfo()); 9.<%@ page errorPage="错误处理页面" %> 设置在当前JSP文件发生异常错误时,网页重新跳转到能够处理异常的JSP文件。 10.<%@ page isErrorPage="false" %> 指定该JSP文件是否为能够处理异常的JSP文件,默认值时false。 11.<%@ page contentType="text/html; charset=UTF-8" %> 指定该JSP文件的MIME格式,以及网页编码格式,可以在网页正常显示JSP中的中文。 12.<%@ page pageEncoding="UTF-8" %> 指定网页的编码格式。 13.<%@ page isELIgnored="false" %> 指定该JSP文件是否支持EL表达式。如果设置为true,表示JSP文件忽略EL表达式,也就是EL表达式不会被执行; 如过设置为false,则表示EL表达式不会被忽略,EL表达式将会被执行。 include指令 用于在JSP文件中插入一个包含文本或代码的文件(HTML文件,文本文件,JSP文件),将被包含的文件所执行的结果插入到JSP文件放置include指令的位置。 语法格式:<%@ include file="被包含文件的地址" %> 只有一个属性file,值为URL地址。 1.包含文本文件<%@ include file="content.txt" %> 把文本里面的内容显示在放include指令的位置,修改文本内容后页面出现乱码,在文本文件的第一行加入<%@ page contentType="text/html; charset=UTF-8" %>就能正常显示中文。 2.包含HTML文件<%@ include file="content.html" %> .包含JSP文件<%@ include file="content.jsp" %> taglib指令 用来声明此JSP文件使用了自定义标签,同时引用所指定的标签库并设置标签库的前缀。 语法格式:<%@ taglib uri="" prefic="" %> 包含两个属性,uri用来指定标签库的位置,prefix属性用来指定该标签库使用的前缀。

网友评论