1. jsp的三种注释

  1. 前段语言注释:<!---->
    • 会被转译,也会被发送,但是浏览器不会执行
  2. java注释: //
    • 会被转译,但是不会被servlet执行
  3. 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. 静态引入:
1
<%@include file="jsp的相对路径"%>
  • 特点:会将引入的jsp文件和当前的jsp文件转译成一个java文件使用
    • 在网页也就显示了合并后的显示效果
  1. 动态引入: 使用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的路径问题:

  1. 在jsp中资源路径可以使用相对路径完成跳转,但是:
  • 问题一:资源的文件不可以随意更改
  • 问题二:需要使用../进行文件夹的跳转.使用比较麻烦
  1. 使用绝对路劲:
  • /虚拟项目名/项目资源路径
  • ※在jsp中资源的第一个/表示的是服务器根目录,相当于:localhost:8080