JSP的基本入门
JSP的概念
JSP全名是Java Server Pages,称为Java的动态服务器端网页技术。
Java程序直接嵌入到了HTML中, 页面称为jsp页面, JSP文件的扩展名为.jsp。
JSP中编写java代码
jsp页面中的注释格式:
<!-- HTML中的注释 -->JSP中存在,翻译后的.java存在,浏览器中存在<% // /* */ %>Java自己的注释 JSP中存在,翻译后的.java存在,浏览器没有<%-- JSP特有注释 --%>只在JSP源代码中出现
常用格式一: <% java代码段 %>
- 作用1: 当请求该JSP页面时, 会执行
<% %>中的java代码 - 作用2: 拼接java逻辑代码, 实现嵌套html标签
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%-- 作用1: 当请求该JSP页面时, 会执行<% %>中的java代码 --%>
<%-- 控制台打印5次Hello jsp --%>
<%
for(int i=0; i<5; i++){
System.out.println("Hello JSP");
}
%>
<%--作用2: 拼接java逻辑代码, 实现嵌套html标签--%>
<%--JSP页面中, 使用h3标签, 打印5次Hello JSP --%>
<% for(int i=0; i<5; i++){ %>
<h3>hello JSP</h3>
<% } %>
</body>
</html>

因为jsp被转换成servlet之后,那些html的语句都是被转化为字符输出流对象打印语句,所以被打印了5次
常用格式二: <%= java的表达式内容 %>
- 作用: 当请求该JSP页面时,会把<%= %>中的java的表达式内容输出到JSP页面, 可用来替代response对象向页面输出内容
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%= 123 %>
<%= "hello" %>
<%= Math.random() %>
<%= new Date().toLocaleString() %>
<%= request.getContextPath() %>
</body>
</html>

JS表达式 格式三: <%! java语句; %>
作用: 用于 定义变量, 例如 <%! int i=100; %>
JSP页面的执行原理

jsp之所以可以直接使用request对象,是因为JSP本质就是Servlet, 我们自己编写的代码全部都落入到了service方法内部,在service方法内部一开始就已经声明了request等对象了。
JSP九大内置对象(也称为隐式对象)
JSP中一共预先定义了9个这样的对象,分别为:request、response、pageContext、session、application、out、config、page、exception
| 对象名 | 功能 | 类型 | 作用域 |
|---|---|---|---|
| request | 向客户端请求数据 | javax.servlet.ServletRequest | Request |
| response | 封装了jsp产生的响应,然后被发送到客户端以响应客户的请求 | javax.servlet.SrvletResponse | Page |
| pageContext | 为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的f访问 | javax.servlet.jsp.PageContext | Page |
| session | 用来保存每个用户的信息,以便跟踪每个用户的操作状态 | javax.servlet.http.HttpSession | Session |
| application | 应用程序对象 | javax.servlet.ServletContext | Application |
| out | 向客户端输出数据 | javax.servlet.jsp.JspWriter | Page |
| config | 表示Servlet的配置,当一个Servlet初始化时,web容器把某些信息通过此对象传递给这个Servlet | javax.servlet.ServletConfig | Page |
| page | Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问 | javax.lang.Object | Page |
| exception | 反映运行的异常 | javax.lang.Throwable | Page |

浙公网安备 33010602011771号