【笔记】JSP学习笔记

前言

在HTML中嵌入Java代码

原理

  • JSP将HTML页面代码转换为Servlet后,通过out.write()方法写入数据到页面,所以必须在服务器上运行
  • JSP转换后的Servlet存放在target/tomcat/work/Tomcat/localhost/项目名/org/apache/jsp/JSP文件名_jsp.java

引入依赖

pom.xml
1
2
3
4
5
6
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>

标签

定义指令

  • 用于声明JSP的基本属性信息
1
<%@ ... %>

指定当前JSP使用的开发语言

  • 默认为java
1
<%@ page language="java"%>

导包

1
<%@ page import=""%>

指定当前JSP使用的编码

  • 这个编码指定后,即使不指定content="text/html;charset=UTF-8"<meta charset="UTF-8">中文也不会显示为乱码
1
<%@ page pageEncoding="UTF-8"%>

是否禁用EL

  • true为禁用,false为启用
1
<%@ page isELIgnored=""%>

引入标签库

引入JSTL标签库

传送门

1
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

Java代码块

1
<% ... %>
1
2
3
<%
...
%>

定义输出语句

  • 相当于<% out.print(...) %>
1
<%= ... %>
1
2
3
<%=
...
%>

定义成员

1
<%! ... %>
1
2
3
<%!
...
%>

成员变量

1
<%! 数据类型 变量名 = 变量值 %>

成员方法

1
<%! 返回值类型 方法名(参数列表) {方法体} %>

注释

1
<%-- ... --%>
1
2
3
<%--
...
--%>

9大内置对象

  • 在Jsp中可以直接使用的对象
  • pageresquestresponseconfigapplicationexceptionpageContextoutsession

在页面输出

  • 对应Servlet中的PrintWrite对象

<string>:输出的内容

1
out.println("<string>");

简化

1
<%= <string> %>

请求对象

  • 对应Servlet中的HttpServletRequest对象

<method>:方法

1
request.<method>

响应对象

  • 对应Servlet中的HttpServletResponse
1
response.<method>

会话对象

  • 对应Servlet中的HttpSession对象
1
session.<method>

项目上下文对象

  • 对应Servlet中的ServletContext对象
1
application.<method>

初始化参数对象

  • 对应Servlet中的ServletConfig对象
1
config.<method>

当前页面自身

  • 相当于类中的this关键字
1
page

页面上下文对象

1
pageContext

异常对象

  • 对应Servlet中的Throwable对象
1
exception.<method>

Jsp中可以传递数据的对象

pageContext(页面上下文域)

  • 传值范围是当前页面

request(请求域)

  • 传值范围是同一个请求中,适用于请求转发

session(会话域)

  • 传值范围是在同一个回话内
  • 只要浏览器不关闭

application

  • 传值范围是在一个项目内
  • 只要服务器不关闭

Jsp请求转发

<<page>>:转发的页面

1
<jsp:forward page="<<page>>"></jsp:forward>

完成