1.JSP基础语法
JSP细节内容可以不用掌握,如有必要看PPT或者博客第七章或者尚硅谷Java web课件或者菜鸟教程。
一个hello.jsp
文件:
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
访问 http://localhost:8080/servlet_02_war/hello.jsp ,可以看到name被解析出来了。
在pom.xml
中导入jstl
和standard
依赖:
1 | <dependency> |
JSP了解即可,不需要掌握细节!
jsp热部署:idea热部署(更新jsp代码不用重编译Tomcat)。
JSP表达式
一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP脚本片段
1 | <%--JSP表达式,就是符合java规范的表达式,但不加分号<%= 表达式%> --%> |
JSP脚本片段一般就会被生成到_jspService方法中。
JSP声明
1 | <%! |
JSP声明:会被编译到JSP生成Java的类中!其他的脚本,就会被生成到_jspService方法中!
JSP的注释,不会在客户端显示,HTML就会!
JSP指令
JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。
语法格式:<%@ 指令 属性="值" %>
三种指令:
指令 | 描述 |
---|---|
<%@ page … %> | 定义网页依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include … %> | 包含其他文件 |
<%@ taglib … %> | 引入标签库的定义 |
1 | <% args.... %> |
page指令
page指令为容器提供当前页面的使用说明,一个JSP页面可以包含多个page指令。
第一种格式:
<%@ page 属性="值" %>
第二种格式:
<jsp:directive.page 属性="值" />
include指令
JSP可以通过include指令来包含其他文件,被包含的文件可以是JSP文件、HTML文件或文本文件,包含的文件就好像是该JSP文件的一部分,会被同时编译执行。
第一种格式:
<%@ include file="文件相对url地址" %>
第二种格式:
<jsp:directive.include file="文件相对url地址" />
taglib指令
JSP允许用户自定义标签,一个自定义标签库就是自定义标签的集合,taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。
9大内置对象
- PageContext 存东西
- Request 存东西
- Response
- Session 存东西
- Application 【SerlvetContext】 应用上下文,存东西
- config 【SerlvetConfig】
- out 输出信息
- page ,不用了解
- exception
JSP的四大作用域:作用域从低到高排列。
1 | pageContext.setAttribute("name1","秦疆1号"); //保存的数据只在一个页面中有效 |
request:客户端向服务器发送请求,产生的数据,用户看完就没用了,比如:新闻,用户看完没用的!
session:客户端向服务器发送请求,产生的数据,用户用完一会还有用,比如:购物车;
application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用,比如:聊天数据。