注释
<%-- jsp 注释 --%>,不会输出到浏览器那边 (请右键,查看网页源代码)<!-- html 注释 -->,会输出到浏览器源码里面显示,导致网站页面 产生不必要的数据
Page 标签
Page标签 位于 在JSP 整个页面的起始位置,下面列出的是比较重要的一些标签
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8" buffer="none" %>
session="false" 表示jsp默认不创建session,由于Session占用服务器资源,如果不用设成false,可以避免服务器资源的浪费,当然如果你自己使用 request.getSession还是可以创建。
isTheadSafe="false" 设置成线程安全,jsp会实现 SingleThreadModel,这样服务器会为每一个来访用户单独创建一个servlet。
errorPage="/error.jsp" 设置如果出错,显示该网页(注意,。一般在web.xml 文件配置全局的错误显示页面。)
isErrorPage="true" 设置该属性代表当前页面可以接受异常对象。(作为错误页面显示时 时常用)
pageEncoding="UTF-8" 告诉服务器,用utf-8 编码来编译 jsp文件(如果设置了这个 Eclipse 会将contentType 也设置成 utf-8,所以下面那句话经常不写也不会出现乱码)
contentType="text/html; charset=utf-8" 告诉浏览器,用utf-8 编码来显示 jsp
buffer="none" jsp 缓存 ,默认是 "8kb" 控制 隐式对象 out缓存 大小。
include
<%@include file="/head.jsp" %> 静态包含:(编译时包含进来):*************我是页偷*****也是页尾 ****我是被包含进来的***********
动态包含:(运行时才包含进来) request.getRequestDispatcher("/head.jsp").include(request, response);
在使用时 由于涉及到 JSP缓存问题,需要把 buffer="none", 才能在正确的位置输出
*************我是页偷*****也是页尾 ****我是被包含进来的***********
<%@include file="/head.jsp" %>
<%request.getRequestDispatcher("/head.jsp").include(request, response);%>
9大隐式对象(这里只介绍 out对象,其他对象,就是servlet的对象)
out对象:在满足下面3中情况会将数据写个 response.out
1、buffer="none" 时。2、缓存满时。
3、JSP页面结束时。
所有就会出现,写在后面的数据却跑到前面去的问题。
jsp常用标签:
jsp:forward page="./index.jsp" 主要用于 首页设置 web.xml 欢迎界面,不支持servlet,如果想使用servlet来做首页,就建立一个jsp 使用这个标签,跳转到servlet
<jsp:forward page="./index.jsp">
<jsp:param value="hahaha" name="user"/>
<jsp:param value="hahaha" name="pass"/>
</jsp:forward>
动态包含,不建议用。推荐使用(<%@include file="/head.jsp" %>)
<jsp:include page="./head.jsp">
</jsp:include>