最近在温习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. Javaweb学习随笔_JSP的九大内置对象

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

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

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

  4. JSP九大内置对象和四个作用域

    JSP九大内置对象和四个作用域 在学习JSP的时候,首先就要先了解JSP的内置对象,什么是内置对象呢?内置对象也叫隐含对象,就是不需要预先声明就可以在脚本代码和表达式中随意使用.而这样的内置对象在JS ...

  5. 今天我们来认识一下JSP的九大内置对象

    虽然现在基本上我们都是使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用 ...

  6. jsp的九大内置对象

    九大内置对象 jsp servlet   对象名 类型 使用范围 request HttpServletRequest 请求 浏览器--->服务器 response HttpServletRes ...

  7. jsp数据交互(一),九大内置对象

    九大内置对象 九大内置对象 内置对象 类型 说明 作用域 request javax.servlet.ServletRequest 请求对象——在 一次请求/一个Request请求周期 中传递数据,请 ...

  8. JSP九大内置对象的作用和用法总结?

    JSP九大内置对象的作用和用法总结? 1.request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的请求信息,主要用于接受通过HTT ...

  9. JSP 九大内置对象

    JSP 九大内置对象: 一 out对象主要用来向客户端输出各种数据类型内容,并且管理应用服务器上的输出缓冲区.out.print()//输出数据out.newLine()//输出一个换行符out.fl ...

随机推荐

  1. 【原创】C#玩高频数字彩快3的一点体会

    购彩风险非常高,本人纯属很久以前对数字高频彩的一点研究.目前已经远离数字彩,重点研究足球篮球比赛资料库和赛果预测. 这是一篇在草稿箱保存了1年多的文章,一直没发现,顺便修改修改分享给大家.以后会有更多 ...

  2. arcgis android 通过getExtent得到当前地图范围四个点的坐标

    困扰了我很久的问题终于要得到解决了,先欢喜一下.我的目的是想做一个当程序完全退出后,再次打开程序地图直接显示上次程序退出前地图的范围.arcgis for android官方软件就有这个功能.网上搜索 ...

  3. window.open和window.close的使用详解

    有时候,我们想通过JS实现一个<a>的新开标签的效果,此时我们想到了window.open方法实现.那么window.open到底应该怎么使用呢?   我们知道window.open可以新 ...

  4. NGUI_Button

    十.按钮,Button 1.按钮的核心作用: 按钮能够接收单击并触发响应事件 按钮单击时能同时触发多个响应事件 按钮可以有普通.悬停.单击.禁用等多个状态的不同表现 广泛的说,按钮的核心在于接收事件 ...

  5. VSCode插件MSSQL教程(昨天提了一下)

    推荐一个跨平台SQL IDE:https://docs.microsoft.com/zh-cn/sql/sql-operations-studio/download 什么数据库都木有(系统自带的不算) ...

  6. FTP方式发布webservice

    以前我发布webservice的步骤是:在  C:\inetpub\wwwroot\路径下发布webservice,然后再在IIS中添加网站并制定路径,这样每次发布了webservice后,需要把发布 ...

  7. fpc软排线焊接

    事情是这样的,早前买的5寸树莓派的屏,基本没咋用过,前两天掏出来点亮了发现屏幕有条虚线. 然后我就寻思是不是排线松了,结果手贱,拔的时候把排线撕断了一截,fpc40pin,我撕断了11pin. 因为以 ...

  8. IOS 微信返回按钮事件控制弹层关闭还是返回上一页

    在微信公共号内绑定域名后或微信内打开第三方链接跳转非单页面网站时,经常会有弹层Modal的需求,此时如果用户习惯性点击微信自带的返回“<”按钮,就会跳转回上一页或退出网站,而为了避免这种不好的误 ...

  9. DB2日常维护常用命令

    1.检查是否有僵尸进程 ps -emo THREAD | grep -i Z | grep -i 实例名 2.处理死锁  --第一步:查看所有死锁  db2 get snapshot for lock ...

  10. Linux 进程调度的主要策略

    1.Linux 下进程分为5种类别,分别是停止类.截止类.实时类.公平类.空闲类, 每种类别都有一个运行队列,每次调度时,就是先按照类别优先级排序,再按照每个类别内的最高优先级任务调度运行. 文件:c ...