最近在温习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. cocos2d中各种action方法的应用

    Action示例: 1.移动动作 cc.MoveBy:create(time, posX, posY)  在time时间内,相对当前位置基础上移动x,y个单位. cc.MoveTo:create(ti ...

  2. CentOS6.5安装中文输入法

    首先进入命令形式的客户端 切换成root用户,输入命令"su root"即可,接着输入 yum install "@Chinese Support" 命令按en ...

  3. MYSQL删除重复数据

     delete from co_jobinformation cwhere c.name in (select cc.name from co_jobinformation cc group by   ...

  4. .NET中异常处理的最佳实践(译)

    本文翻译自CodeProject上的一篇文章,原文地址. 目录 介绍 做最坏的打算 提前检查 不要信任外部数据 可信任的设备:摄像头.鼠标以及键盘 “写操作”同样可能失效 安全编程 不要抛出“new ...

  5. 获取Windows操作系统的CPU使用率以及内存使用率

    此功能参考了ProcessHacker项目的代码. 声明定义 typedef struct _UINT64_DELTA { ULONG64 Value; ULONG64 Delta; } UINT64 ...

  6. 人才市场的IT职位分析

    最近要找长沙的工作,于是通过湖南人才市场搜索了一下职位.结果得到的数据让我很难比较,作为一个 IT 业滚爬了多年的程序员,对这样的搜索结果很不满意.于是,我不得不自己来整理数据了.本文内容包括:网页数 ...

  7. AutoMapper 最佳实践

    AutoMapper 是一个基于命名约定的对象->对象映射工具. 只要2个对象的属性具有相同名字(或者符合它规定的命名约定),AutoMapper就可以替我们自动在2个对象间进行属性值的映射.如 ...

  8. CentOS RDO方式快速安装OpenStack

    一.了解RDO RDO是什么? RDO是红帽Red Hat Enterprise Linux OpenStack Platform的社区版,类似RHEL和Fedora,RHEV和oVirt这样的关系. ...

  9. iOS----集成ijkplayer视频直播

    ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijk ...

  10. Java Math 取整的方式

    1.Math.floor floor,英文原意:地板. Math.floor 函数是求一个浮点数的地板,就是 向下 求一个最接近它的整数,它的值肯定会小于或等于这个浮点数. 2.Math.ceil c ...