1. jsp的三种注释
- 前段语言注释:
<!---->
- java注释:
//
- jsp注释
<%----%>
2. jsp的page指令
属性:
language
:声明jsp要被转译的语言
import
:声明转译的java文件要导入的包,不同的包用,隔开
pageEncoding
:设置jsp文件的数据的编码格式,高版本的jsp包括的请求和响应的数据格式
contentType="text/html;charset=UTF-8"
:设置jsp数据响应给浏览器时,浏览器的解析和编码格式
session
:设置转译的servlet中是否开启session
,默认开启
errorPage
:设置jsp运行错误跳转的页面 作用:配置jsp文件的转译的相关的参数
2.1 jsp的局部代码块:<% %>
1 2 3 4 5
| 特点: 代码块声明的变量都是局部的 缺点: 使用局部代码块在jsp中进行逻辑判断书写麻烦,阅读困难 开发:servlet进行请求逻辑处理,使用jsp进行页面展示
|
2.2 jsp全局代码块:<%! %>
1 2 3 4
| 特点: 声明的java代码作为全局代码转译作为对应的servlet类中 注意: 在全局代码块中声明,在局部代码块中调用
|
2.3 jsp脚本段语句:
1 2 3 4
| 特点:帮助我们快速的获取变量或者方法的返回值作为数据响应给浏览器 使用:<%= %> 相当于在service方法里面的out.print(); 注意:不要在变量名或者方法后使用分号 位置:除了jsp的语法的任意配置
|
3. jsp的静态引入和动态引入标签:
- 静态引入:
1
| <%@include file="jsp的相对路径"%>
|
- 特点:会将引入的jsp文件和当前的jsp文件转译成一个java文件使用
- 动态引入: 使用jsp动作标签
1
| <jsp:include page="jsp的相对路径">
|
- 特点: 会将引入的
jsp
文件单独转译,在当前转译好的java
文件中调用引入的jsp
文件的转译文件
- 注意: 动态引入允许文件中声明同名的变量
- 优点:降低了jsp代码的冗余,便于维护升级
4. jsp的转发标签:
使用jsp动作标签
1
| <jsp:forward page="jsp的相对路径"></jsp:forward>
|
- 特点:一次请求,地址栏不变
- 注意:在转发标签的两个标签中间除了写
<jsp:param name="" value="">
子标签不会报错,其他任意字符都会报错
<jsp:param name="" value="">
和get方式的请求一样发送参数到另一个jsp
5. jsp的九大内置对象
jsp
文件转译为servlet
时,自动生成并声明的对象,我们可以直接使用
注意: 因为我们写的jsp代码会被转译为servlet的service方法下,所以只能使用在局部代码块<%%>中,不能使用在全局代码块<%!%>中
1 2 3 4 5 6 7 8 9 10 11 12
| pageContext: 页面上下文对象,封存了其他内置对象.也就封存了当前jsp的运行信息 ※每个jsp文件单独拥有一个pageContext对象 作用域:当前页面 request: 封装当前请求数据的对象,由tomcat服务器创建,一次请求 response: 响应对象,用来响应请求处理的结果给浏览器.设置响应头,重定向 (redirect) session: 此对象用来存储用户不同请求的共享数据的,一次会话 application: 也就是ServletContext对象,一个项目自有一个 out: 响应对象,jsp内部使用,带有缓冲区的响应对象,效率比response高 page: 代表当前jsp对象,相当于java的this exeception: 异常对象,存储当前的异常对象 ※使用此对象需要在page指令中使用属性inErrorPage="true"开启 config: 也就是ServletConfig,主要用来获取web.xml中的配置数据,完成一些处始化的读取
|
6. 四个作用域对象:
1 2 3 4 5
| pageContext: 当前页面.解决了在当前页面内的数据共享问题,获取其他内置对象 request: 一次请求.一个请求的servlet的数据共享.将数据流转给下一个servlet session: 一次会话.一个用户的不同请求的数据共享,将数据从一次请求流转给其他请求 application: 项目内.不同用户的数据共享.将数据从一个用户流转给其他用户 作用:数据的流转
|
7. jsp的路径问题:
- 在jsp中资源路径可以使用相对路径完成跳转,但是:
- 问题一:资源的文件不可以随意更改
- 问题二:需要使用../进行文件夹的跳转.使用比较麻烦
- 使用绝对路劲:
- /虚拟项目名/项目资源路径
- ※在jsp中资源的第一个/表示的是服务器根目录,相当于:localhost:8080