重温JSP学习笔记--三大指令九大内置对象
最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记:
- JSP三大指令:
- page ------>最复杂的一个指令,属性很多,常用的像import,language,pageEncoding等等
- include-------->静态包含,一般在一个网站不同网页上把相同的元素单独写在一个jsp中,其他页面直接用该命令导入,能大大减少重复代码提高访问速度
- taglib --------->一般用于导入标签库,比如jsp的jstl标签库,使用之前必须有此标签.
- JSP指令格式:
<%@page language="java" pageEncoding="utf-8"%>
` 以page指令为例,其他标签类同,可以写任意多个属性,甚至不写,习惯性放在jsp页面最上方,但是并不是必须写在页头,可以写在jsp页面任意位置.
- page常用属性:
- pageEncoding: 指定当前jsp页面的编码,在服务器(如tomcat)要把jsp编译成.java时需要使用pageEncoding
- 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" %>
- prefix: 指定标签库在当前页面中的前缀,由我们自定义即可.
- uri: 指定标签库的位置
- JSP九大内置对象(不需要创建就可以直接使用):
- out : 等同于 response.getWriter(),用来向客户端(浏览器)发送文本信息,
- request: 就是指HttpServletRequest类的对象
- response: 就是指HttpServletResponse类的对象
- session: 是HttpSession类的对象,
- application:是ServletContext类的对象
- page: 指当前页面的对象,类似于"this"
- config: ServletConfig类的对象
- exception: 只能在错误页面中使用该对象,即在page指令中设置了isErrorPage="true",才可用
- pageContent:页面的上下文对象,是一个域对象
- pageContext 对象
servlet有三个域对象,jsp有四个域对象
- ServletContext:作用于整个应用程序,随服务器开启而存在,随服务器关闭而死亡
- session: 作用于整个会话(一个会话中对应一个用户);
- request: 作用于一次请求链中
- 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学习笔记--三大指令九大内置对象的更多相关文章
- Java Web(五) JSP详解(四大作用域九大内置对象等)
前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...
- 【转载】JSP详解(四大作用域九大内置对象等)
前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...
- web开发(五) JSP详解(四大作用域九大内置对象等)
在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6427759.html>,在此仅供学习参考之用. 一.JS ...
- Javaweb学习随笔_JSP的九大内置对象
JSP内置对象整理 1. 九大内置对象: out,request,response,session,application,page,pageContext,config,Exception. 1.1 ...
- JSP三大指令 /9大内置对象 /Javabean / EL
一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info="xxx". ...
- jsp九大内置对象 ,三大指令,四大作用域,七大动作
九大内置对象: application:应用程序对象 对整个web工程都有效 request:对当前请求的封装 pageConfig:只对当前页面有效,里面封装了基本request和session的对 ...
- JSP九大内置对象,七大动作,三大指令
JSP之九大内置对象 隐藏对象入门探索 Servlet 和JSP中输出数据都需要使用out对象.Servlet 中的out对象是通过getWriter()方法获取的.而JSP中没有定义out对象却可以 ...
- jsp(九大内置对象,三大指令)
九大内置对象JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.except ...
- JSP九大内置对象与Servlet学习笔记[转]
我们常说的JSP有九大内置对象分别为:request.response.session.out.pagecontext.page.exception.application.config. 我们知道, ...
随机推荐
- Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》
一.引言 倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,以大范围.高精度.高清晰的方式全面感知复杂场景,通过高效的数据采集设备及专业的数据处理流程生成的数据成果直观反映地物的外观.位置 ...
- C# 开源组件--Word操作组件DocX
使用模版生成简历 读写表格数据 合并单元格 工具源代码下载 学习使用 使用模版生成简历 下面将以一个简历实例来讲解DocX对表格的操作,先看看生成的效果 private static void Cre ...
- for 循环中 continue
- C#_技巧:真伪随机数
使用 Random 产生随机数.(这是一种伪随机数,需要seed,同一个seed后,采用某种算法产生的数字序列都是一样的) 两种写法 错误 for(int i=0;i<100;i++) { ...
- Android 知识杂记(MVP模式)
MVP的模式在于将原来activity中业务逻辑的部分剥离出来,代码示例如下: Account public class Account { private String mUsername; pri ...
- 自己动手写一个简单的MVC框架(第一版)
一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...
- 前端展望:取avalon,弃angular
打给比方,如果说angularJS是剑,那么avalon就是匕首.匕首比剑更易学,更快,更适合快速作战... 我们还是直接来实际的吧: 目前项目开发中有以下几个通用需求: 有前端路由系统,用来划分 ...
- SQL Server 索引和表体系结构(包含列索引)
包含列索引 概述 包含列索引也是非聚集索引,索引结构跟聚集索引结构是一样,有一点不同的地方就是包含列索引的非键列只存储在叶子节点:包含列索引的列分为键列和非键列,所谓的非键列就是INCLUDE中包含的 ...
- APOC 15 Years Celebration
最近很忙,没有及时更新博客,也没有参加各种活动,唯一的活动就是接下来要讲的APOC 15 Years Celebration.不知不觉,自己也加入APOC有一年多了,正如大家所说“岁月是把杀猪刀”,我 ...
- [ASP.NET MVC 大牛之路]03 - C#高级知识点概要(2) - 线程和并发
本人博客已转移至:http://www.exblr.com/liam 我也想过跳过C#高级知识点概要直接讲MVC,但经过前思后想,还是觉得有必要讲的.我希望通过自己的经验给大家一些指引,带着大家一起 ...