jsp
1、what is jsp?
- jsp全称是 java servlet pages , java的服务器页面
- 主要作用是代替servlet 程序回传html页面的数据
- 因为servlet程序回传数据是一件非常繁琐的事情,开发和维护成本都极高
2、jsp如何访问
jsp页面和html页面一样,都是存放在web目录下,访问也跟访问html页面一样
如:在web目录下的文件:
a.html 访问地址是----------->http://ip:port/工程路径/a.html
b.jsp 访问路径是----------->http://ip:port/工程路径/b.jsp
3、jsp本质是什么?
- jsp页面本质上就是一个servlet程序
- 当我们第一次访问jsp页面的时候,Tomcat服务器会把jsp页面翻译成为一个java源文件,并且对它进行编译成为.class字节码程序
- jsp翻译出来的java类,它间接地继承了HttpServlet类,也就是说,翻译出来的是一个Servlet程序
- 总结:jsp就是servlet程序
a) jsp头部的page指令
page指令可以修改jsp页面中一些重要的属性,或者行为。
<% @ page contentType =“text/html;charset=utf-8” language=“java” %>
- language 属性 表示jsp翻译后是什么语言文件,暂时只支持java
- contentType属性 表示jsp返回的数据类型是什么,也是源码中的response.setContentType参数值
- pageEncoding属性 表示当前 jsp 页面文件本身的字符集
- import属性 跟java源代码中一样,用于导包,导类
-----------------------------------------下面两个属性是给out输出流使用------------------------------------------- - autoFlush属性 设置当out输出流缓冲区满了之后,是否自动刷新缓冲区,默认值是true
- buffer属性 设置out缓冲区的大小,默认是8KB (out缓冲区满了之后,会出现缓冲区溢出错误)
- errorPage属性 设置当jsp页面运行时出错,自动跳转去的页面路径。这个路径一般都是以斜杠打头,它表示请求地址为http://ip:port/工程路径/ 映射到代码的web目录
- isErrorPage属性 设置当前jsp页面是否是错误信息页面,默认是false,如果是true,可以获取异常信息
- session属性 设置当前jsp页面,是否会创建HTTPSession对象,默认是true
- extends属性 设置当前jsp页面翻译出来的Java类默认继承谁
b) jsp中常用的脚本
1. 声明脚本
格式:<%!声明java代码 %>
作用:可以给翻译出来的java类定义属性和方法甚至是静态代码块、内部类等。
2. 表达式脚本
格式:
<%=表达式%>
作用:
在jsp页面上输出数据
特点:
① 所有的表达式脚本都会被翻译到——JspService()方法中
② 表达式脚本都会被翻译成为out.print()输出到页面上
③ 由于表达式脚本翻译的内容都在——jspService()方法中,所以jsp_Service()方法中的对象都可以直接使用。
④ 表达式脚本中的表达式不能以分号结束.
3. 代码脚本
格式:
<% java 语句%>
作用:
可以在jsp页面中,编写我们自己需要的功能(写的是java语句)
特点:
① 代码脚本翻译之后都在——jspService()方法中
② 代码脚本由于翻译到——jspService()中,所以 jsp_Service()方法中的对象都可以直接使用
③ 还可以由多个代码脚本组合完成一个完整的java语句
④ 代码脚本还可以和表达式脚本一起组合使用,在jsp页面上输出数据
c)三种注释
d)jsp 获取servlet 传输过来的数据
方式一
<%
java 代码
%>
方式二
<c: 标签
方式三
${}