JSP概述
- 概念:全称为Java Server Pages,中文名为java服务器端页面
- 作用:
1.一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码
2.可以简化书写。如果不用JSP就需要写很多行response.getwriter()
- 原理:JSP本质上就是一个Servlet
index.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
System.out.println("jsp被访问了");
%>
<h1>hello</h1>
</body>
</html>
JSP被浏览器访问的原理如下:
1.打开该路径
2.访问了一次JSP后找到该子目录
可以看到JSP最终被转换成**.class文件了
我们打开index_jsp.java看看
我们查看tomcat源码可以发现它继承了HttpServlet**
所以说JSP本质上是一个Servlet
JSP脚本
JSP脚本就是:JSP定义Java代码的方式
1.<% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
2.<%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。
3.<%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。
JSP内置对象
JSP内置对象是指:在jsp页面中不需要获取和创建,可以直接使用的对象
JSP一共有9个内置对象。
今天学习3个:
request:请求
response:响应
out:字符输出流对象。可以将数据输出到页面上。和response.getWriter()类似
response.getWriter()
和out.write()
的区别:
在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。
response.getWriter()
数据输出永远在out.write()
之前