目录
1. 什么是JSP ?
JSP(Java Server Pages), Servlet 不擅长编写以显示效果为主的web页面。
JSP 实际就是HTML文档 + Java脚本,
2. JSP用法
(1)声明: <%! ... %>用于声明JSP所需的变量、方法与类
(2)表达式:
<%= ... %>
(3)脚本小程序: <% ... %>
3. JSP标记指令
<%@ .. %>
指令名: page include taglib(标签库指令) import
(1)page指令:用于设置整个也免得相关属性和功能
如:<%@ page errorPage="error.jsp" %>
(2)include指令:用于设置JSP页面中静态包含一个文件;所谓静态包含,是指JSP页面和被包含的文件先合并为一个新的JSP页面,然后JSP引擎将这个新的JSP页面转译为Java文件
如:<%@ include file="relativeURL" %>
<%@ include file="error.jsp" %>
路径说明:
若路径以“/"开头,则改路径为参照JSP应用的上下文路径;直接以文件名或目录名开头,表示正在使用的JSP当前路径
中间可以带参数:<%@ page errorPage="error.jsp" %>
(3)taglib指令
4. JSP动作标记
-
动作元素(7个):param、include 、forward 、plugin、useBean、getProperty、getProperty?
(1) param动作
<jsp:param name="username" value="ttt"/>
(2) include动作:用于告知JSP页面动态加载一个文件,即在JSP页面运行时才将文件引入。所谓动态包含,是指JSP引擎把页面转化为Java文件时,告诉Java解释器,被包含的文件在JSP运行时才被包含进来。
<jsp:include page="scripts/login.jsp"> <jsp:param name="username" value="abd" />//可带参数 </jsp:include>
(3)forwar: 用于跳转指定的页面
<jsp:forward pag="/server/login.jsp" <jsp:param name="username" value="abd" /> </jsp:forward>
(4)plugin:用于指示JSP页面加载Java Plugin,并使用该插件来下载Java Applet 或Bean
5. 注释
(1)HTML注释
<!-- 注释1 -->
(2) JSP注释
<%-- 注释 --%>
JSP注释在JSP引擎编译时会自动忽略,不会发给客户端
(3)Java注释
1、// 2./* */
6. jsp内置对象
6.1 out对象
输出流对象,用于客户端输出流操作,可将有关信息发送到客户端的浏览器。
是javax.servlet.jsp.JspWriter的实例
out.print("")-->输出数据 void flush()-->输出缓冲区的数据 。。。
6.2 request对象
request对象为请求对象,其中封装了客户端请求的所有信息,如请求的来源、标头、Cookies以及与请求相关的参数值等。
request对象是 javax.servlet.http.HttpServletRequest类的实例。
每当客户端请求一个jsp页面时,jsp引擎就会创建一个新的request对象来代表这个请求。
6.3 response对象
response对象为响应对象,用于对客户端的请求进行动态响应,可向客户端发送数据,如Cookies、时间戳、HTTP标头信息、HTTP状态码等。在实际应用中,response对象主要用于将JSP数据处理后的结果传回到客户端。
response是 javax.servlet.http.HttpServletResponse类的实例。
当服务器创建request对象时,会同时创建用于响应客户端的response对象。
response.setHeader("refresh","1")-->发送一个值为“1”的refresh标头,让页面每隔1s便自动刷新一次。
response.sendRedirect("login.jsp");-->重定向
form表单中的action表示表单提交位置
6.4 session对象
session对象为会话对象,该对象封装了当前用户会话的有关信息。
session对象是 javax.servlet.http.HttpSession类的实例
当用户首次访问服务器上的一个jsp页面时,jsp引擎就会产生一个session对象,同时为该session对象分配一个String类型的ID,并将ID号发送到客户端,存放在用户的Cookie中。(独享)
当用户再次访问连接该服务器的其他页面,或从该服务器连接到其他服务器再返回到服务器时,jsp引擎将继续使用此前所创建的同一个session对象。
待用户关闭浏览器(即终止与服务端的对话)后,服务器端才将该用户的session对象销毁掉。
seesion.iisNew()-->判断是否为新用户
6.5 application对象
应用对象,负责提web应用程序在服务器运行期间的某些全局性信息。
与session不同,application针对web应用程序中的所有用户,并为所有用户共享。
application对象是 javax.servlet.ServletContext类的实例
当web服务器启动了一个web应用程序时,就为其产生一个application对象。当关闭web服务器或停止web应用程序时,该application对象才会被销毁掉。
各个web应用程序的application对象是互不相同的。
6.6 exception对象
6.7 page对象
6.8 config对象
配置对象,用于获取Servlet或者jsp引擎的初始化参数
6.9 pageContext对象
页面上下文对象,访问页面的相关信息。