jsp(java server pages)

发布于 2019-04-18  677 次阅读


特点:跨平台,一次编写处处运行;跨组建平台;健壮性;安全性;本质上为Servlet。

jsp的三个注释

1、前端语言注释:会被转发,也会被发送,但不会被浏览器执行;<!-- -->

2、Java语言注释:会被转译,但不会被serlet执行;//单行注释;/*多行注释*/

3、jsp注释:不会被转译;<%%>

jsp的page指令

< % @ page 属性名="属性值" 属性名="属性值" % >

language:声明jsp要转译的语言;

import:声明转译的Java文件要导的包,不同包的导入用“ ,”隔开。

pageEncoding:设置转译的servlet中是否开启session支持,默认是开启的。true为开启,false为关闭。

errorPage:设置jsp运行错误跳转的页面。errorPage="jsp文件路径";

extends:设置jsp转译的 Java文件要继承的父类;(包+类名)

作用:配置Jsp文件相关参数;

JSP局部代码块

特点:

1) 局部代码块中声明的Java代码会被原样转译到Jsp对应的servlet文件中jspservice方法中;

2)代码块声明的变量都是局部变量;使用:< % Java代码 % >

缺点:

使用局部代码块在jsp中进行逻辑判断书写麻烦,阅读困难。

开发:

servlet进行请求逻辑处理,使用jsp进行页面展示。

jsp全局代码块

特点:

声明的Java全局代码作为全局代码转到对应的servlet类中。

使用:< %全局代码% >

注意:全局代码块声明需要局部代码块调用!

jsp脚本语句

特点:帮助我们快速获取变量或者方法的返回值作为数据响应给浏览器;

使用:< %=变量或方法的返回值% >

注意:不要在变量名或者方法名后面加“ ;”

位置:除Jsp语法外的任何位置;

jsp的静态引入和动态引入

静态引入:< %@include file=“要引入的jsp相对路径”% >

特点:会将引入的jsp文件和当前的jsp文件转成一个Java文件使用在网页中也就是说显示了合并后的效果;

注意:静态引入jsp文件不会单独转译成Java (servlet)文件;

当前文件和引入jsp文件中不能够使用相同的Java代码块变量;

动态引入:< jsp:include page="路径" > < /jsp:include >

特点:会将引入的jsp文件单独转译,在当前文件转译好的Java文件中调用引入jsp的转译文件。在网页中显示合并后的显示效果;

注意:动态引入允许文件中声明同名变量;

优点:降低了代码的冗余,便于维护升级;

jsp的转发标签----forward

使用:< jsp:forward page="路径" >< /jsp:forward >

特点:一次请求;

地址栏信息不变;

注意:转发标签的两个标签中间,除了写< jsp:parm value="" name="" >子标签不报错,其他任意字符都会报错;

name属性:附带数据的键名;

value属性:附带数据的内容;

注意:此标签会将数据以?的形式拼接转发在路径后面;

jsp的九大内置对象和四大作用域

内置对象:jsp文件在转译成其对应的servlet文件时自动生成并声明的对象,可以直接在jsp页面中使用;

注意:内置对象在jsp页面中使用,使用在局部代码块或者脚本语句中使用,不能在全局代码块中使用;

九大对象

pagecontext:页面上下文对象封存其他内置对象;封存当前jsp运行信息;

request:封存当前请求的数据对象(由服务器创建)

session:此对象存储用户不同请求的数据共享;

application:(servletcontext)存储用户数据共享,以及其他操作;

response:响应对象,jsp用来响应请求处理结果对象;

out:响应对象,jsp内部使用,带有缓冲区效率高于response对象;

page:代表当前jsp的对象,相当于java的this;

exception:异常对象,存储当前运行的异常信息;

config:(Servletconfig)主要用来获取web.xml配置数据,完成一些初始化数据的读取;

注意:每个jsp文件单独用于一个pagecontext对象,其作用域为当前页面;

使用异常对象需要在page中属性isErrorpage=“true”开启对象;

四个作用域

pagecontext:当前页面,解决当前页面数据共享问题;

request:一次请求,一次请求的servlet的数据共享;

session:一次会话,一个用户的不同数据共享;

application:项目内,不同用户的数据共享;

作用:数据流转

jsp路径

在jsp中资源路径可以使用相对路径完成跳转;但存在两个问题

问题一:资源的位置不可以随意更改;

问题二:需要使用 ../进行文件跳出,使用起来麻烦;

绝对路径:/虚拟项目名/资源名(项目资源路径)

注意:在jsp资源中第一个/表示服务器根目录,相当于:localhost:8080使用jsp中自带全局路径声明;

作用:给资源前面添加项目路径。