11. JSP: 用<-- 注释不掉-->
注释 <%--只会存在于jsp的源代码中,翻译为servlet后,jsp注释消失了 --%>
//存在于jsp的源代码中,翻译为servlet后,jsp注释也存在,生成HTML后消失了;
12.jsp 的指令, 指令的语法: <%@ 指令名称 属性名称="属性值" 空格 属性名称="属性值">
jsp中有三个指令: page指令, include指令, taglib指令.
1.jsp page指令: <%@ page %> --- 设置jsp的.
language : jsp脚本中使用的语言,现在只能写java.
contentType: 设置浏览器打开这个jsp的时候采用的默认的字符集的编码
pageEncoding: 设置文件保存到本地硬盘的编码
improt="导包"; 可以出现很多次
extends: 设置jsp翻译成servlet后继承的类,默认值org.apache......httpjspbase
这个值想修改,这个类必须是httpservlet的子类
autoFlush: 默认jsp的缓存自动刷出, true:自动刷出
buffer : 设置jsp的默认缓存区8K
session :设置在JSP中是否可以直接使用session,默认可以直接使用,不用request.getsession了
isELgnored :设置在jsp中是否忽略EL表达式,默认值false,不忽略
errorPage = "不需要写工程名,跳转到别的页面": 设置错误友好页面的提示;
isErrorPage :显示错误的信息,给客户看的,并且在源代码中显示错误;然后在jsp页面
<%=exception.getMessage()%>
企业中:设置全局的错误友好页面,在工程下的web.xml中配置; <error-page>
<error-code>
<location>
2.include指令 :指示jsp包含其他的页面 ,属性file="相对路径"; 静态包含
3.taglib指令. 指示jsp引入标签库; uri="标签的uri的路径" prefix=标签的别名""
13. jsp的内置对象: 可以在Jsp中直接使用的对象;***********
1.九大内置对象: request是: Httpservletrequest ; response是: Httpservletrequest
session 是: Httpsession; application,是: servletContext
page是: Object pageContext是:pageContext config,是: servletconfig
out是; Jspwriter exception是: Throwable 默认不显示 设置isErrorpage="true"
page内置对象:真实对象object,就是jsp翻译成servlet后类的引用.
out内置对象:out和response.getwriter 不是同一个对象.真实对象不一致
response获得writer是printwiter; out缓冲区先到printwiter中,然后一起输出;
**pageContext对象:
1.通过其他的8个内置对象: 编写通用性代码或者框架的时候
***2.向JSP的四个域中存取数据: 包含servlet三个,自己的一个
1.pagescope : 当前页面有效 pagecontext 真实对象: pagecontext
1.Requestscope : 一次请求范围 request 真实对象: Httpservletrequest
1.sessionscope : 一次会话范围 session 真实对象: Httpsession
1.applicationscope : 应用范围 application 真实对象: servletContext
3.用pagecontext来存取其他域的数值:
存: pagecontext.setarribute("","",pagecontext.REQUEST_SCOPE);
取: pagecontext.getarribute("",pagecontext.REQUEST_SCOPE);
4.pagecontext 特有方法: findAttribute(""); 从四大域中获取值,从范围小到大找值,只显示一个值
14. jsp动作标签: 列出6个:
1.<jsp:forward/> :用于页面的转发. page="路径"
2.<jsp:include/> :用于页面的包含(动态包含). page="路径"
动态包含和静态包含的区别:
<%@ include file=""%>
1.静态包含: .jsp执行时,找到指定.jsp, 然后把文件内容复制过来,然后一起翻译成一个servlet, 然后编译,得到一个class,然后在执行;
2.动态包含: .jsp执行时,找到指定.jsp, ,然后各自翻译成两个servlet,然后编译,得到俩个class, 然后分别执行;然后把指定.jsp执行的结果拿过来.
3.<jsp:param/> :用于<jsp:include>、<jsp:forward>、<jsp:plugin>一起使用的标签下,
传递参数. value="" name=""
4.<jsp:useBean/> :用于在jsp中使用JavaBean.
5.<jsp:setproperty/> :用于在jsp中向JavaBean设置属性
6.<jsp:getproperty/> :用于在jsp中获得JavaBean获得属性