最近在温习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. java并发编程(十四)同步问题的内存可见性

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17288243 加锁(synchronized同步)的功能不仅仅局限于互斥行为,同时还存在另 ...

  2. System.Web.HttpContext.Current.Session为NULL解决方法

    http://www.cnblogs.com/tianguook/archive/2010/09/27/1836988.html 自定义 HTTP 处理程序,从IHttpHandler继承,在写Sys ...

  3. Spring MVC的配置文件(XML)的几个经典案列

    1.既然是配置文件版的,那配置文件自然是必不可少,且应该会很复杂,那我们就以一个一个的来慢慢分析这些个经典案列吧! 01.实现Controller /* * 控制器 */ public class M ...

  4. 浅析PHP中for与foreach两个循环结构遍历数组的区别

    遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法.用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论.所谓管中窥豹,多少能理清一点两者的区 ...

  5. 拯救无法启动的虚拟机文件.vmdk中的数据

    FROM: http://blog.csdn.net/npy_lp/article/details/7686583 从事Linux开发的软件工程师几乎都使用过虚拟机软件,如VMware worksta ...

  6. Sage CRM 平衡区域树结构

    Sage CRM 的区域是把整数区间-214748364 ~02147483647划分为一个个相等的区间,使用数字的范围来表示区域的概念. 默认情况下,crm把区域划分为10

  7. 资深人士剖析微软开源.NET事件:战略重心已经从PC转移到云端

    本文是雷锋网对我的访谈整理的文章,源地址是 http://www.leiphone.com/news/201411/6KaGhD7PDABnvrRf.html 2014年11月13日,微软表示开源.N ...

  8. 使用LinqToExcel读取Excel

    我们读取和写入Excel 经常使用NPOI工具,如果我们的需求只是需要读取Excel,可以考虑使用LinqToExcel这个组件.这个组件用起来简单,实用,操作方便,而且结合了Linq的查询特性,ex ...

  9. MySQL MVCC(多版本并发控制)

    概述 为了提高并发MySQL加入了多版本并发控制,它把旧版本记录保存在了共享表空间(undolog),当事务提交之后将重做日志写入磁盘(前提innodb_flush_log_at_trx_commit ...

  10. MySQL 变量和条件

    概述 变量在存储过程中会经常被使用,变量的使用方法是一个重要的知识点,特别是在定义条件这块比较重要. mysql版本:5.6 变量定义和赋值 #创建数据库 DROP DATABASE IF EXIST ...