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. BZOJ-1923-外星千足虫-SDOI2010

    描写叙述 分析 首先看上去这貌似是一个高斯消元的题目, 直觉吧- 每次给出的就相当于是一个方程. 然后非常easy想到n条虫子n个x, x_i的系数为0表示这个方程中没有i, 否则为1. 然后系数乘以 ...

  2. javascript高级知识点——指定上下文实现

    代码信息来自于http://ejohn.org/apps/learn/. 当我们将一个对象的点击事件绑定到一个事件触发元素时会发生什么? <ul id="results"&g ...

  3. html系列教程--标题,水平线,注释以及段落

    HTML标题 标题,用来显示文章重要性的文字,包含了文章的主旨,类似于作文题目. 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的,由大到小一次排列,h1 ...

  4. Xcode常用快捷键 (转载)

    Xcode快捷键,工欲善其事,必先利其器.mac的键盘和ms的还是有些不一样,得适应一下下. 新建项目 command+shift+n 新建文件 command+n 新建空文件 command+con ...

  5. “error LNK1169: 找到一个或多个多重定义的符号”的解决方法(转载)

    解决方案: “error LNK1169: 找到一个或多个多重定义的符号”的解决方法(转载) 遇到的问题: 在.h头文件中采用namespace 命名空间报错 test.h namespace LMR ...

  6. EC读书笔记系列之9:条款16、17

    条款16 成对使用new和delete时要采取相同形式 记住: ★若你在new表达式中使用[ ],必须在相应的delete中也使用[ ],反之亦然 -------------------------- ...

  7. BOOST_PP_INC_I(x)实现

    这个比较有意思,# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x 连接在一起以后,然后定义为x+1 实现了inc功能,不过最多也就到255 # /* Copy ...

  8. codeforces 665D Simple Subset

    题目链接 给一个数列, 让你选出其中的m个数, 使得选出的数中任意两个数之和都为质数, m尽可能的大. 首先, 除了1以外的任意两个相同的数相加结果都不是质数. 然后, 不考虑1的话, 选出的数的个数 ...

  9. WPF:构建应用程序

    原文 http://www.cnblogs.com/free722/archive/2011/11/13/2247455.html WPF相关的项目内容包含在App.Xaml和Window1.xaml ...

  10. uestc 10 In Galgame We Trust

    题意:求最长的合法括号序列 解:栈+分类讨论 now表示已经算出的序列,且此序列与现在扫描的序列可能能够连接,tmp表示现在扫描到的序列长度 左括号入栈 右括号:1.栈空时:统计当前总长 并且将栈,n ...