JSP入门上
一、JSP的概念
1.什么是JSP,它有什么作用?
JSP的全程是Java Server Pages。即Java的服务器页面。
JSP的主要作用是代替Servlet程序回传html页面的数据。
因为Servlet程序回传html页面数据是一件非常繁琐的事情。开发成本和维护成本都极高。
2、jsp 如何访问:
jsp页面和 html页面一样,都是存放在web目录下。访问也跟访问html页面一样。 比如:在web目录下有如下的文件:
web目录a.html页面访问地址是 =======>>>>>> http://ip:port/工程路径/a.html
b.jsp 页面 访问地址是 =======>>>>>> http://ip:port/工程路径/b.jsp
3.JSP页面的本质:
jsp 页面本质上是一个 Servlet 程序。
当我们第一次访问 jsp 页面的时候。Tomcat 服务器会帮我们把 jsp 页面翻译成为一个 java 源文件。并且对它进行编译成 为.class 字节码程序。我们打开 java 源文件不难发现其里面的内容是:
我们跟踪原代码发现,HttpJspBase类。它直接地继承了HttpServlet 类。也就是说。jsp 翻译出来的 java 类,它间接了继 承了HttpServlet 类。也就是说,翻译出来的是一个Servlet 程序
总结:通过翻译的 java 源代码我们就可以得到结果:jsp 就是 Servlet 程序。 大家也可以去观察翻译出来的 Servlet 程序的源代码,不难发现。其底层实现,也是通过输出流。把 html 页面数据回传 给客户端。
二、JSP常用的6种语句类型
1.注释:<%-- 注释内容 --%>。
2.声明:<%! 预定义内容 %>。
3.表达式:<%= 表达式 %>。
4.代码片段:<% 代码 %>。
5.指令:<%@ 指令 %>。
6.动作:<jsp:动作>。
三、JSP的三种语法
1.jsp 头部的 page 指令:
jsp 的 page 指令可以修改 jsp 页面中一些重要的属性,或者行为。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
常用的属性
language 属性 | 表示 jsp 翻译后是什么语言文件。暂时只支持 java。 |
---|---|
contentType 属性 | 表示 jsp 返回的数据类型是什么。也是源码中 response.setContentType()参数值 |
pageEncoding 属性 | 表示当前 jsp 页面文件本身的字符集。 |
import 属性 | 跟 java 源代码中一样。用于导包,导类。 |
autoFlush 属性 | 设置当 out 输出流缓冲区满了之后,是否自动刷新冲级区。默认值是 true。 |
buffer 属性 | 设置 out 缓冲区的大小。默认是 8kb |
errorPage 属性 | 设置当 jsp 页面运行时出错,自动跳转去的错误页面路径。 |
isErrorPage 属性 | 设置当前 jsp 页面是否是错误信息页面。默认是 false。如果是 true 可以 获取异常信息。 |
session 属性 | 设置访问当前 jsp 页面,是否会创建 HttpSession 对象。默认是 true。 |
extends 属性 | 设置 jsp 翻译出来的 java 类默认继承谁。 |
out缓冲区满了之后不能自动刷新,就会报错:
<!-- errorPage 表示错误后自动跳转去的路径 <br/> 这个路径一般都是以斜杠打头,它表示请求地址为 http://ip:port/工程路径/映射到代码的 Web 目录 -->
2.jsp 中的常用脚本<%! 预定义内容 %>:
(1)声明脚本(极少使用):
作用:可以给 jsp 翻译出来的 java 类定义属性和方法甚至是静态代码块。内部类等。
<%-- 声明类属性--%>
<%! private Integer id;
private String name;
private static