page

include

taglib

语法:<%@ 指令名称 属性=值 属性=值 …%>

-------------------

page

1.language

默认值java

2.extends

3.session

4.import

5.buffer

6.autoFlush

7.IsELIgnored

false  不忽略

true   忽略,不解析

8.errorPage 和isErroPage控制JSP页面发生错误跳转

------------------

PageEncoding

ContentType

编辑JSP的时候,点击保存的时候,需要用到PageEncoding,保存文件到硬盘

Servlet程序返回给浏览器的时候,通过contentType属性,通知浏览器使用哪种编码去查看网页。

结论:如果pageEncoding不支持中文,JSP无法将中文信息保存到硬盘。

------------------

错误页面

一、设置erroPage

二、通过配置web.xml

<erro-page>

<erro-code>500

<location>/demo/error.jsp

-------------------

include

包含

静态include原理

index.jsp ---->index_jsp.java

当翻译到<%@ include file=”header.jsp”%>

翻译header.jsp,并且将翻译后的servlet内容引用到index对应的Servlet

静态包含:包含目标文件源代码,源代码合并到一起,一起进行执行。

--------------------

JSP九大内置对象

1.request                    HttpServletRequest

2.response                 HttpServletResponse

3.session                    HttpSession

4.application              ServletContext

5.out                          JspWriter

6.pageContext           PageContext

7.page                        this(HttpServlet)

8.config                      ServletConfig

9.exception                  Throwable

pageContext代表当前页面上下文

向page范围保存数据,必须通过它。

pageContext.setAttribute(name,value);

findAttribute 方法可以依次在page、request、session、application,四个数据范围进行数据的查找

Object value = pageContext.findAttribute(“name”);

EL中 直接写${name}  就会调用findAttribute(),在四个范围内查找数据

pageContext可以用来获得其他8个隐含对象

作用:框架的编写,得到pageContext对象,就相当于得到JSP9个内置对象

----------------------

out对象

内部使用PrintWriter实现,拥有独立缓冲区 8kb

out = pageContext.getOut();

-------------------------

out和response.getWriter()的区别

out.print(aaa);

response.getWriter().print(bbb);

out.print(ccc);

结果:

response.getWriter(),输出的内容在out之前

Out缓冲区                           response.getWriter()缓冲区

aaa                                            bbb

ccc

为何bbb先输出?

out必须通过response回写到浏览器,当out.flush,内容输出到response的缓冲区中。

所以bbb  aaa  ccc

----------------------

exception

使用前要设置isErrorPage=”true”

---------------------------------

JSP 6个动作标签

<jsp:userBean> <jsp: setProperty><jsp:getProperty> 与javaBean有关

<jsp:include> <jsp:forward> <jsp: param>

<jsp:include>等价于request.getRequestDispatcher().include

<jsp:forward>等价于request.getRequestDispatcher().forward

<jsp:include>功能等价于<%@ include%>

原理:动态包含而不是静态包含

在index servlet执行的时候,去完成包含动作。包含结果是目标jsp翻译Servelt生成的html页面结果

<jsp:forward>等价于 request.getRequestDispatcher(“/”).forward(request, response);

---------------------------------------------

JSP page include taglib的更多相关文章

  1. JSP指令(page include taglib)

    JSP指令指示JSP转换器如何翻译JSP页面到Servlet:JSP指令用来设置整个JSP页面相关的属性,如网页编码方式.脚本语言等 JSP指令的格式: <%@ directive attrib ...

  2. JSP中include动作与指令

    include指令 JSP中有三大指令:page,include,taglib,之前已经说过了page的用法.这里介绍下include. 使用语法如下: <%@ include file=&qu ...

  3. <%@page include%>、<%@include%>、<jsp:include>三者之间的本质区别

    <%@page include%>.<%@include%>.<jsp:include>三者之间的本质区别 先从它的几个内置对象说起. application和se ...

  4. 控制所生成的servlet的结构: JSP page指令

    在JSP中,主要有3种类型的指令:page, include和taglib.page指令允许我们通过类的导入.servlet超类的定制.内容类型的设置.以及诸如此类的事物来控制servlet的结构.p ...

  5. 牛客网Java刷题知识点之什么是JSP的3大常用指令、JSP的6大哪些动作、JSP中include指令和include动作有什么区别

    不多说,直接上干货! JSP的3大常用指令 包含指令(Include directive):用来包含文件和合并文件内容到当前的页面. 页面指令(Page directive):用来定义JSP页面中特定 ...

  6. jsp中自定义Taglib案例

    一.使用TagSupport类案例解析 1.自定义Tag使用jdbc连接mysql数据库 1.1定义标签处理器类 package com.able.tag; import java.sql.Conne ...

  7. 转: JSP中include指令和include动作的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如果 ...

  8. Jsp的include指令静态导入和动态导入的区别

    1.什么是静态导入? 静态导入指的是,将一个外部文件嵌入到当前JSP文件中,同时解析这个页面的JSP语句,它会把目标页面的其他编译指令也包含进来. include的静态导入指令使用语法: <%@ ...

  9. 自定义JSP中的Taglib标签之四自定义标签中的Function函数

    转自http://www.cnblogs.com/edwardlauxh/archive/2010/05/19/1918589.html 之前例子已经写好了,由于时间关系一直没有发布,这次带来的是关于 ...

随机推荐

  1. UIImage 图片处理:截图,缩放,设定大小,存储

    图片的处理大概就分 截图(capture), 缩放(scale),设定大小(resize), 存储(save)这几样比较好处理, 另外还有滤镜,擦试等, 以后再说在这个Demo code裡, 我写了几 ...

  2. 响应式内容滑动插件bxSlider

    bxSlider特性 1.充分响应各种设备,适应各种屏幕: 2.支持多种滑动模式,水平.垂直以及淡入淡出效果: 3.支持图片.视频以及任意html内容: 4.支持触摸滑动: 5.支持Firefox,C ...

  3. 蓝桥杯算法训练<二>

    一.最小乘积(基本型)[这个题需要认真阅读试题,内容量较大,刚开始的时候,由于练习系统上给出的输入输出的格式有问题,没看懂,最后在MikCu的博客上看到了正确的格式,参考了代码,最终得到正确的结果.为 ...

  4. Intellij Idea的一些配置

    1.字体 修改IDEA面板字体:Settings->Appearance-> Override default fonts by(not recommended)选中,选择自己喜欢的字体 ...

  5. Nginx修改配置实现图片防盗链

    一般情况下,防盗链是针对软件下载和图片的,由于一般的站点不提供资源下载,所以本文主要是针对图片的防盗链 1.如果对全站图片做防盗链,至少需要一个另外的域名存放指向图片.因为如果对全站图片做了防盗链,包 ...

  6. C#BASE64 UTF8字符串加密解密

    base 64 解码 base64 bb = new base64(); string orgStr= Encoding.Default.GetString(bb.GetDecoded("b ...

  7. MVC3 带查询的分页Helper

    接上篇mvc3 分页Helper. 带查询的分页Helper是在上一篇分页的基础上来的.下面看代码: 首先,在System.Web.Mvc命名空间下的自定义类HtmlPage下面添加一个用于处理“查询 ...

  8. J2SE知识点摘记(十六)

    1.         IO包中的类层次 ┌BufferedInputStream ├DataInputStream ┌FilterInputStream┼LineNumberInputStream ├ ...

  9. python setattr(),getattr()函数

    setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为value,属性name可以是已存在属性也可以是新属性. get ...

  10. 基于Hadoop的大数据平台实施记——整体架构设计

    大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃进了大 ...