JSP
一、介绍
JSP(Java Server Page )是SUN公司提供的动态网页编程技术,是Java Web服务器端的动态资源。
JSP技术能提供的:
·html静态页面
·允许在页面中嵌套Java代码,提供动态数据
·容易对数据进行排版
当第一次访问Jsp的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个文件存放在Tomcat中的work目录中。
二、基础语法
1、注释
显示注释(允许客户端看见的):
<!-- HTML风格的注释-->
隐式注释(客户端无法看见的):
//单行注释 /*多行注释*/
<%-- JSP注释 --%>
2、Scriptlet(脚本小程序)
嵌入在HTML代码中的Java程序必须使用Scriptlet标记出来,一共有三种Scriptlet代码:
1、<% %>
java脚本段,可以定义局部变量、编写语句
java代码会在编译后的servlet的service方法中
2、<%! %>
声明,可以定义全局(成员)变量、方法、类
3、<%= >
表达式,输出一个变量或具体内容
三、JSP的指令标签
JSP的指令标签用来控制整个jsp的行为,就当前JSP页面的某些方面对JSP转换器作出指示。
1、page指令
MIME类型
language="java",当前使用java语言,目前只有java
contentType="text/html;charset=UTF-8" 页面响应类型和编码
pageEncoding="UTF-8",页面编码
页面编码先从contentType中的charset中找,找不到去pageEncoding中找,都不存在,默认ISO-8859-1。
导包:可出现多次
2、include静态包含
(1)静态包含直接将被包含的页面加载到当前页面中
(2)jsp被编译后文件都会生成在一个servlet的service方法中,所以不能有同名变量
(3)设置file属性值时,路径写错会报错
(4)被编译后只生成一个源码文件
优缺点:
运行效率会稍微高一点点
耦合度高,不灵活
3、taglib导入标签库
四、JSP动作标签
动作标签,它们被编译成执行某个操作的java代码。JSP容器有自己支持的标准动作,还可以创建指定的标签,用来执行某些操作。
·动作标签是由tomcat(服务器)来解释执行,与java代码一样都是在服务器端执行
·html由浏览器来执行
include动态包含
1、动态包含相当于方法的调用,两个页面是独立的
2、可以有同名变量
3、会生成对应数量的源码文件
4、动态包含是双标签,可以传递参数,不传递参数不要加任何内容
5、降低耦合度,比较灵活
动态包含传递参数
接收参数通过request.getParameter(name)来完成
五、九大内置对象
1、request对象(和servlet中的request相同)
包括头信息,系统信息,请求方式以及请求参数等,request对象作用域为一次请求
2、response对象
对客户端的响应,response对象也有作用域,它只在JSP页面内有效
3、session对象
是由服务器自动创建的与用户请求相关的对象
4、application对象
application对象中保存的信息在整个应用中都有效
5、out对象
用于在web浏览器内输出信息,并且管理应用服务器上的输出缓冲区
out.write(); out.close();
6、pageContext对象
作用是取得任何范围的参数
7、config对象
主要作用是取得服务器的配置信息
8、page对象
代表JSP本身,只有在JSP页面内才是合法的,隐含对象本质上包含当前Servlet接口引用的变量,类似java编程中的this指针
9、exception对象
exception对象
·设置发生错误要跳转的页面
·在XML文件中配置