1.简介
2.运行原理解析
3.基本语法
- 模板元素中的内容会作为out.write()的参数,最终输出到页面中。
- 所以在JSP中可以完全按照在HTML页面中的方式来编写网页。
4.JSP指令
page指令:用来告诉JSP引擎如何翻译jsp文件。
- <%@ page %>
- 属性:session:页面中是否可以使用session对象,需要一个布尔值,默认是true可以使用,如果将该值设置为false,则不能直接使用session对象。
import:用来导包。
errorPage:当页面中出现异常以后,转发到的页面。
isErrorPage:当前页面是否是一个错误页面,需要一个布尔值,默认是false,当该值设置true可以在jsp中使用exception对象,设置false不能使用。
language:用来指定JSP将会被翻译为的语言。这个属性的默认值java,可选值java。
contentType:用来指定我们JSP的编码类型,一般我们使用:text/html;charset=utf-8
pageEncoding: 告诉jsp引擎当前jsp使用的编码格式。
extends:指定jsp对应java类的父类。不用
isELIgnored:是否忽略EL表达式,需要一个布尔值,默认是false不忽略,如果将该值设置true,则页面中的EL表达式将不会自动解析。
include指令
- include指令用于将一个页面包含进另一个页面
- <%@ include file="/include/2.jsp" %>
- include指令叫做静态包含,它将相当于将目标页面,原封不动复制到当页面中。
- 使用静态包含时,只会翻译当前的jsp页面,而不会翻译被包含页面。
5.JSP动态标签
<jsp:forward page="/index.jsp">
<jsp:param value="sunwukong" name="username"/>
<jsp:forward/>
4.include标签:
<jsp:include page="/include2/2.jsp"></jsp:include>
- 动态包含,当前页面和被包含页面都会被翻译成java文件
include(request, response, "/include2/2.jsp", out, false);
5.include指令和include标签的不同:
6.隐含对象
7.域对象
② WEB资源:这里我们的WEB资源主要指JSP和Servlet。
③JavaWeb中一共有四个域对象:pageContext request session application
在jsp中可以获取到全部四个域对象,在Servlet中只能获取到三个,没有pageContext
④ 每一个域对象中都维护着一个map,用来保存数据。
⑤ 域对象都共有的三个方法:
void setAttribute(String name, Object value) --> 向域中设置一个属性。
Object getAttribute(String name) --> 根据属性名从域中获取属性值。
void removeAttribute(String name) --> 从域中根据属性名移除指定的属性。
⑥ pageContext
- 类型:PageContext
- 作用:它是page域的域对象,page域就是当前页面, 一旦切换页面则page 域中的属性全部丢失。
主要用来在jsp 和标签之间来传递数据。
⑦request
- 类型:HttpServletRequest
- 作用:它是request域的域对象,request域代表的是当前请求, 一旦发送两次请求则request中的属性全部丢失。
主要是在转发时共享数据的。
⑦ session
- 类型:HttpSession
- 作用:它是session域的域对象,session域代表的是当前会话,会话就是指一次打开浏览器到关闭浏览器的过程。
一旦会话停止则session域中属性全部丢失。不同的浏览器就是不同的会话。
⑧application
- 类型:ServletContext
- 作用:它是application域的域对象,application域代表的是整个web应用, 只要项目不停止,则application域中的属性就不会丢失。
主要用来在web应用中共享数据。