Jsp语法九大内置对象和四大作用域
一.JSP
原理:JSP其实就是一个servlet。
Servlet负责业务逻辑处理,JSP只负责显示。开发中,JSP中不能有一行JAVA代码
二.JSP语法
1. JSP模板元素:JSP中HTML标签及文本
2. 脚本:写JAVA代码,<% %>
3. 表达式:用于输出变量及表达式,<%= %>
4. 注释:分为三种
a) <!-- --> :JSP翻译成Servlet时也将进行翻译。页面中也有。
b) <% /*.......*/ %>:JSP翻译成Servlet时会被翻译,但页面(右击源代码)中没有。
c) <%-- .......... --%>:JSP翻译成Servlet时不会被翻译。
三.指令
1. page:此指令可放在JSP页面中的任意位置。作用范围为整个JSP页面
属性:
language:默认值JAVA,目前也只有JAVA
extends:JSP对应的SERVLET的父类
import:导入此JSP页面中所用到的包,类。多个包以逗号分隔,默认已导入的包有:java.lang.*,javax.servlet.*,javax.servlet.http.*,javax.servlet.jsp.*
session:是否创建HttpSession对象,默认为true
buffer:设置缓存,取值none|8kb|sizekb,默认8kb。一般为默认值。
autoFlush:是否自动刷新,true|false,默认true。
isThreadSafe:Jsp对应的Servlet是否实现SingleTreadMode接口。默认为true, false为实现。//实现单线程
errorPage:设置错误页面
在web.xml配置默认错误页面
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/exce.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
isErrorPage:默认为flase,指示是否生成Throwable对象的引用exception.
contentType:设置HTML中MIME类型的编码,如同Servlet中response.setContentType();
pageEncoding:告知引擎翻译JSP时使用的编码。
isELlgnored:是否忽略EL表达式,JSP2.0以后,默认为false
四.include:
包含:
1. 动态包含
<jsp:include page=”....” />
如有两个JSP文件A,B. A动态包含B,A和B各自翻译成A_jsp.class和B_jsp.class文件,然后容器将两个servlet合并。再输出。
2. 静态包含
<%@ include file=”.....” %>
A和B翻译成一个A_jsp.class文件。已经合并,并给容器。再输出。
2. taglib:
<% taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>
五.九大隐式对象
request: HttpServletRequest
response: HttpServletRequest
session: HttpSession(page指令中session设置true后,才会有)
config: ServletConfig
application: ServletContext
exception: Throwable(page指令中isErrorPage设置为true后,才会有)
page: 当前servlet的引用
out: JspWriter(等同于PrintWriter)
pageContext: javax.servlet.jsp.PageContext;
作用:
a. 可以获取其它8大隐式对象
b. 本身也是一个域对象,作用范围为本页面
提供了操作其他域对象的方法(ServletContext,HttpSession, ServletRequest)
操作自身域对象的方法:
pageContext.getAttribute(Stringname);
pageContext.setAttribute(Stringname,Object value);
pageContext.removeAttribute(Stringname);
操作其它域对象的方法:
Object getAttribute(Stringname,int scope)
scope:PageContext有对应的常量
PageContext.APPLICATION_SCOPE
PageContext.SESSION_SCOPE
PageContext.REQUEST_SCOPE
PageContext.PAGE_SCOPE
voidremoveAttribute(String name,int scope)
voidsetAttribute(String name,Object value,int scope)
当我们只知道有name这么一个参数,但不知道在哪个域中时。可以用:
pageContext.findAttribute(Stringname);
查找的顺序由小到大,page->request->session->context
c. 提供了包含及转发的方法
pageContext.forward(String path);
pageContext.include(String path)
六.四大域对象
pageContext:在本页面中有效
request: 在一次请求及转发的Servlet中有效
session: 在一次会话中有效,直到超时及销毁
application: 在整个web应用有效,生命周期为Web运行期间
原则:域对象越小越好。
七.JSP内置标签(动作元素)
jsp:include:动态包含
jsp:forward:请求转发
jsp:param:传递请求参数
八.JavaBean
1. 有无参的构造方法
2. 私有的字段(字段名小写开头)
3. 提供公共的getter和setter方法。
4. 一般实现java.io.Serialiable(可序列化)接口。
作用:用于封装数据
九.JavaBean的动作元素
1、jsp:useBean
作用:从指定的域范围查找指定名称的对象。找到直接返回;找不到创建该对象的实例,并放到指定的范围中。
范围:page request sessionapplication
属性:
id:引用对象的名称
class:查找的类型
scope:指定的范围。默认值是page
2、jsp:getProperty
获取指定javabean的指定属性的取值,并打印到页面上。如果属性值为null,打印null。
属性:
name:javabean的名称
property:操作的是getter属性
3、jsp:setProperty
作用:设置Javabean的某个属性的值。
属性:
property:属性名称。支持通配符*
name:javabean的名称
value:直接指定值
param:指定请求参数名。
十.JavaWeb的开发模型
1、模型1:JSP+JavaBean
特点:适合开发非常简单的应用。
2、模型2:JSP+Servlet+JavaBean(MVC)
M:模型 JavaBean
V:视图 JSP
C:控制器 Servlet

Jsp语法九大内置对象和四大作用域的更多相关文章
- servlet的三大作用域对象和jsp的九大内置对象及其四大作用域对象
servlet的三大作用域对象: request(HttpServletRequest) session(HttpSession): application(ServletContext):tomca ...
- jsp的九大内置对象和四大作用域(转)
定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象(作用域) 客户端的 ...
- jsp的九大内置对象和四大作用域
定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量? JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):? 1.request对象(作用域)? 客户 ...
- AJPFX详解jsp的九大内置对象和四大作用域
定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象(作用域) 客户端的请 ...
- 转载:jsp九大内置对象和四大作用域
摘要: JSP的九大内置对象: page,application,session,request,response,out,exception,config,pageContext. JSP的四个作用 ...
- JSP九大内置对象和四大作用域和Servlet的三大作用域对象
一.JSP九大内置对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用 内置对象特点: 由JSP规范提供,不用编写者实例化. 通过Web容器实现和管理 所有 ...
- JavaWeb中jsp九大内置对象 和四大作用域
九大内置对象为 page request response session exception config application out pageContext no 内置对象 类型 1 pag ...
- jsp九大内置对象和四大作用域
看到网上一些Jsp内置对象介绍的都不是很全,今天我把各位大神的整理了一下. JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用. 一.reque ...
- Jsp (Java Server Pages)相关知识九大内置对象和四大作用域
一.初识JSP Jsp页面的组成:静态内容.指令.表达式.小脚本.声明.标准动作.注释等元素构成 Url:统一资源定位符 Url组成:协议.主机名(包括端口号).路径 1.注释的方式: 1.HTML注 ...
随机推荐
- Git——简说.git目录【五】
我们都知道初始化项目时,会生成一个.git的隐藏目录,那么这个目录究竟放了那些东西呢,又有什么作用呢?现在我们就来看看. HEAD HEAD指向的是当前工作所在的分支 $ cat HEAD ref: ...
- [USACO18DEC]Balance Beam
题目链接:这里 或者这里 答案是很显然的,记\(g(i)\)为在\(i\)下平衡木时的期望收益 那么\(g(i)=max(f(i),\frac{g(i-1)+g(i+1)}{2})\) 好了做完了 T ...
- Ajax传递List对象到前台展示问题遇到的坑
后台Json转换 后台传递的List对象,如果对象是实体类,实体类和另一个表关联,就可能会出现以下错误 org.hibernate.LazyInitializationException: faile ...
- Bug预防体系(上千bug分析后总结的最佳实践)
Bug预防体系(上千bug分析后总结的最佳实践) 原创 2017-08-16俞美玲 光荣之路 吴老的<selenium webdriver 实战宝典>出版了! web常见产品问题及预防 ...
- 51nod 1443 路径和树(最短路树)
题目链接:路径和树 题意:给定无向带权连通图,求从u开始边权和最小的最短路树,输出最小边权和. 题解:构造出最短路树,把存留下来的边权全部加起来.(跑dijkstra的时候松弛加上$ < $变成 ...
- mybatis 二级缓存
Mybatis读取缓存次序: 先从二级缓存中获取数据,如果有直接获取,如果没有进行下一步: 从一级缓存中取数据,有直接获取,如果没有进行下一步: 到数据库中进行查询,并保存到一级缓存中: 当sqlSe ...
- A1088. Rational Arithmetic
For two rational numbers, your task is to implement the basic arithmetics, that is, to calculate the ...
- bzoj3829 POI2014 FAR-FarmCraft
题目链接 思路 用\(f[i]\)表示完成第\(i\)棵子树所需要得时间. 考虑如果有两个子树\(a\)和\(b\),如果先去完成子树\(a\),那么对于花费得时间就是\(f[b] + siz[a] ...
- C#模拟POST表单提交 --- WebClient
string postString = "arg1=a&arg2=b";//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进 ...
- Django 项目内利用ORM直接运行脚本读库
#导包 import os import sys #将脚本所在工程添加到环境变量 #绝对路径 # sys.path.append('c:/Users/nxy/www/mymac') #相对路径 sys ...