最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记:

  •   JSP三大指令:
    1.   page    ------>最复杂的一个指令,属性很多,常用的像import,language,pageEncoding等等
    2.   include-------->静态包含,一般在一个网站不同网页上把相同的元素单独写在一个jsp中,其他页面直接用该命令导入,能大大减少重复代码提高访问速度
    3.   taglib --------->一般用于导入标签库,比如jsp的jstl标签库,使用之前必须有此标签.
  •   JSP指令格式:    
      <%@page language="java"  pageEncoding="utf-8"%>

`  以page指令为例,其他标签类同,可以写任意多个属性,甚至不写,习惯性放在jsp页面最上方,但是并不是必须写在页头,可以写在jsp页面任意位置.

  •   page常用属性:
      1. pageEncoding:  指定当前jsp页面的编码,在服务器(如tomcat)要把jsp编译成.java时需要使用pageEncoding
      2. contentType:                添加一个响应头,比如contentType="text/html;charset=utf-8"

         注意:如果这两个标签只设置了一个,另一个默认成已设置的那个,如果都没设置,默认编码是iso,

          3.import:              用于导包,如import="java.util.*";可以出现多个import.

          4.errorPage:           设置出错时候的跳转页面,如errorPage="error.jsp"如果当前页面出现异常,就转发到error.jsp,注意是转发,地址栏不会有变化.

          这里拓展一下,web.xml配置错误页面的知识,如果我们希望当出现比如404错误时,页面能够跳转到我们自定义的jsp上去,应该这样配置,在web.xml中添加:

              <error-page>
              <error-code>404</error-code>
              <location>/myError404.jsp</location>
        </error-page>

          page中还有许多属性,比如language,info,并没有什么用处,至于其他的我貌似见都没见过了,不再赘述.

  • include指令: 静态包含

    < %@ include file=”/b.jsp” %>

    它是在jsp编译成java文件时完成的,他们共同生成一个Java文件,一个.class文件, 引入的页面与当前页面融为一体,因为是编译时期就和合并,所以 file的内容不能够是变量.

   在jsp中有一个动作标签也是include,它指的是动态导入,在页面请求时才合并,page的内容可以是变量.

   <jsp:include page=”/b.jsp” flush=”true” /> 
  • taglib: 导入标签库
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    1. prefix: 指定标签库在当前页面中的前缀,由我们自定义即可.
    2. uri:    指定标签库的位置     
  • JSP九大内置对象(不需要创建就可以直接使用):
      1. out  :    等同于 response.getWriter(),用来向客户端(浏览器)发送文本信息,
      2. request:    就是指HttpServletRequest类的对象
      3. response:   就是指HttpServletResponse类的对象
      4. session:     是HttpSession类的对象,
      5. application:是ServletContext类的对象
      6. page:        指当前页面的对象,类似于"this"
      7. config:       ServletConfig类的对象
      8. exception:   只能在错误页面中使用该对象,即在page指令中设置了isErrorPage="true",才可用
      9. pageContent:页面的上下文对象,是一个域对象
  •  pageContext 对象    

      servlet有三个域对象,jsp有四个域对象

      1. ServletContext:作用于整个应用程序,随服务器开启而存在,随服务器关闭而死亡
      2. session:        作用于整个会话(一个会话中对应一个用户);
      3. request:   作用于一次请求链中
      4. pageContext:作用于一个jsp页面,用于在当前jsp页面和jsp中使用的标签之间共享数据.                                               

      pageContext域对象可以代理其他域:

          pageContext.setAttribute("name","张三",pageContext.SESSION_SCOPE);将名为张三的属性name存到了session域中

          pageContext.getAttribute("name",pageContext.SESSION_SCOPE):         获取name时使用

          pageContext.findAttribute("name"):     全域查找,查找顺序是:page-->request-->session-->application

重温JSP学习笔记--三大指令九大内置对象的更多相关文章

  1. Java Web(五) JSP详解(四大作用域九大内置对象等)

    前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...

  2. 【转载】JSP详解(四大作用域九大内置对象等)

    前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...

  3. web开发(五) JSP详解(四大作用域九大内置对象等)

    在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6427759.html>,在此仅供学习参考之用. 一.JS ...

  4. Javaweb学习随笔_JSP的九大内置对象

    JSP内置对象整理 1. 九大内置对象: out,request,response,session,application,page,pageContext,config,Exception. 1.1 ...

  5. JSP三大指令 /9大内置对象 /Javabean / EL

    一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info="xxx". ...

  6. jsp九大内置对象 ,三大指令,四大作用域,七大动作

    九大内置对象: application:应用程序对象 对整个web工程都有效 request:对当前请求的封装 pageConfig:只对当前页面有效,里面封装了基本request和session的对 ...

  7. JSP九大内置对象,七大动作,三大指令

    JSP之九大内置对象 隐藏对象入门探索 Servlet 和JSP中输出数据都需要使用out对象.Servlet 中的out对象是通过getWriter()方法获取的.而JSP中没有定义out对象却可以 ...

  8. jsp(九大内置对象,三大指令)

    九大内置对象JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.except ...

  9. JSP九大内置对象与Servlet学习笔记[转]

    我们常说的JSP有九大内置对象分别为:request.response.session.out.pagecontext.page.exception.application.config. 我们知道, ...

随机推荐

  1. Stanford机器学习笔记-5.神经网络Neural Networks (part two)

    5 Neural Networks (part two) content: 5 Neural Networks (part two) 5.1 cost function 5.2 Back Propag ...

  2. 对JS原型的一些理解

    一.首先给出一道经典的原型题目: var F = function(){}; Object.prototype.a = function(){}; Function.prototype.b = fun ...

  3. C# 线程基础

    1. 线程的基本概念 简单的讲进程就是程序分配在内存当中,等待处理器进行处理,请记住线程会消耗大量的操作系统资源.多个线程共享一个物理处理器将导致处理器忙于处理管理这些进程,而无法运行程序. 使用线程 ...

  4. HDU 5752 Sqrt Bo (数论)

    Sqrt Bo 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5752 Description Let's define the function f ...

  5. Ubuntu 12.04环境下配置Postgresql和phppgadmin

    Ubuntu 12.04环境下配置Postgresql 9.1 和phppgadmin 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/zjianb ...

  6. 第十四篇 SQL游标、函数的使用方法

         游标的的使用有日常的开发和维护的过程不使用的并不多,但是碰到一些棘手的问题的时候,游标时常是个非常好的帮手,下面就说下游标的使用方法,方法自己以后查阅,和加深一些印象,下面以一个存储过程为例 ...

  7. linux实训

    目  录 Unit 1 操作系统安装.... 3 1.1 多操作系统安装... 3 1.1.1 VMware简介... 3 1.1.2 VMWare基本使用... 4 1.2 安装Red Hat Li ...

  8. instanceof简单用法

    语法: 对象 instanceof 类: 含义:如果这个对象时这个类或者这个类的子类的实例化,那么结果及时ture, 否则 false. 常常用来判断一个类是否是某个类的子类,以此判断A类是否继承或者 ...

  9. 【转】分布式一致性算法:Raft 算法(Raft 论文翻译)

    编者按:这篇文章来自简书的一个位博主Jeffbond,读了好几遍,翻译的质量比较高,原文链接:分布式一致性算法:Raft 算法(Raft 论文翻译),版权一切归原译者. 同时,第6部分的集群成员变更读 ...

  10. Eclipse使用总结(不定时更新)

    1.安装activiti插件 (1)在线下载 点击Add输入Location:http://activiti.org/designer/update/   Name:Activiti (2)本地安装 ...