重温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. 我们知道, ...
随机推荐
- iOS 属性修饰符记录 --不定时更新
重新审视了一下OC在属性修饰符,特意记录一下来.以后不定时更新 > retain:只有在非ARC下才会有效,所有如果在ARC下使用了retain修饰也白搭 如以下的data属性用retain修饰 ...
- Call to undefined function Think\mb_strlen()
在php.ini 中开启php_mbstring.dll 模块后重启 apache
- Awstats显示国家地区插件GeoIP安装
Awstats默认安装之后是不具有识别访问者的国家和地区信息的,所以需要安装插件支持Awstats列出访问者的国家和地区,便于分析GeoIP免费的是国家/IP的数据表,GeoIPCityLite是地区 ...
- Unity3D UGUI之DoTweenAnimation脚本控制动画方法
DOTweenAnimation脚本: Loops循环:-1时即永久循环播放. Loops Type 是选择播放模式. Ease属性里有很多,暂时只知道Linear的效果,其他有待单独写. ID下面可 ...
- JQuery之$.ajaxPOST数据
function postSimpleData() { $.ajax({ type: "POST", url: "/Service/SimpleData", c ...
- Spring之注入的几种方式
普通注入 在配置文件里 <!-- 构造注入 --> <bean id="user1" class="entity.User"> < ...
- wpf之mvvm基类
当我们用MVVM设计模式的时候要实现INotifyPropertyChanged,每次都要实现这个接口比较麻烦,所以基类的作用就体现出来了.代码如下: 1 2 3 4 5 6 7 8 9 10 1 ...
- HTML5- Canvas入门(六)
已经第六章了,也差不多接近尾声,如果你从第一章耐心follow到本章结束,那你便能掌握canvas的大部分知识点(当然如果要精通,还是得多靠练习,做一些小案例). 今天我们要学习的是canvas的变形 ...
- ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘
开篇:经历了上一篇<aspx与服务器控件探秘>后,我们了解了aspx和服务器控件背后的故事.这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下.然后,再 ...
- ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习
一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...