JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
一.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的动作元素
、jsp:useBean
作用:从指定的域范围查找指定名称的对象。找到直接返回;找不到创建该对象的实例,并放到指定的范围中。
范围:page request sessionapplication
属性:
id:引用对象的名称
class:查找的类型
scope:指定的范围。默认值是page
、jsp:getProperty
获取指定javabean的指定属性的取值,并打印到页面上。如果属性值为null,打印null。
属性:
name:javabean的名称
property:操作的是getter属性
、jsp:setProperty
作用:设置Javabean的某个属性的值。
属性:
property:属性名称。支持通配符*
name:javabean的名称
value:直接指定值
param:指定请求参数名。
十.JavaWeb的开发模型
、模型1:JSP+JavaBean
特点:适合开发非常简单的应用。
、模型2:JSP+Servlet+JavaBean(MVC)
M:模型 JavaBean
V:视图 JSP
C:控制器 Servlet

JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构的更多相关文章
- JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标 ...
- JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象
1 什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的 ...
- jsp学习--JSP运行原理,九大隐式对象和JSP常用标签
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- JSP页面以及JSP九大隐式对象
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比 ...
- JSP的学习(6)——九大隐式对象及其out对象
本篇将介绍JSP中的九大隐式对象,并重点介绍其中的out对象. 我们在之前的博客<JSP的学习(1)——基础知识与底层原理>一文中已经知道,JSP最终要被翻译和转换成Servlet,在转换 ...
- JSP中的九大隐式对象及四个作用域
在这篇博文中,我们将讨论和学习JSP中的隐式对象及四个作用域. 一.九大隐式对象 这些对象是JSP容器为每个页面中的开发人员提供的Java对象,开发人员可以直接调用它们而不用显式地声明它们再调用. J ...
- JSP九大隐式对象
JSP九大隐式对象 request HttpServletRequest response HttpServletResponse session HttpSession application Se ...
- 四大域对象,和jsp的九大隐式对象,已经el表达式的11个隐式对象
四大域对象 1.PageContext :页面范围的数据 2.ServletRequest:请求范围的数据 3.HttpSession:回话范围的数据 4.ServletContext:应用范围的数据 ...
- JSP九大隐式对象和四大域对象-----面试
因为jsp实质是一个Servlet对象:jsp在第一次访问时会被Web容器翻译成Servlet,在执行过程:第一次访问---->inex.jsp---->index_jsp.java--- ...
随机推荐
- java中的锁池和等待池
在java中,每个对象都有两个池,锁(monitor)池和等待池 wait() ,notifyAll(),notify() 三个方法都是Object类中的方法. 锁池:假设线程A已经拥有了某个对象(注 ...
- Unity3D 5中增加WebGL 播放插件
http://www.csdn.net/article/2014-03-18/2818822-Unity-5-game-engine 其实我是搞3d的,这篇文章里所有的术语看了都有很强的亲切感. Un ...
- java模拟http请求上传文件,基于Apache的httpclient
1.依赖 模拟http端的请求需要依赖Apache的httpclient,需要第三方JSON支持,项目中添加 <dependency> <groupId>org.apache& ...
- hdu6003 Problem Buyer 贪心 给定n个区间,以及m个数,求从n个区间中任意选k个区间,满足m个数都能在k个区间中找到一个包含它的区间,如果一个区间包含了x,那么 该区间不能再去包含另一个数,即k>=m。求最小的k。如果不存在这样的k,输出“IMPOSSIBLE!”。
/** 题目:hdu6003 Problem Buyer 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6003 题意:给定n个区间,以及m个数,求从n个区 ...
- Colored Sticks - poj2513(trie + 并查集)
问题便转化为:给定一个图,是否存在“一笔画”经过涂中每一点,以及经过每一边一次.这样就是求图中是否存在欧拉路Euler-Path.由图论知识可以知道,无向图存在欧拉路的充要条件为:① 图是连通的:② ...
- [转]jna模拟指针开辟空间,数组首地址获取值
http://blog.csdn.net/zhuzhichao0201/article/details/5817819 不是很明白,先记在这里 ———————————————————————————— ...
- Redmin 一键安装
一.介绍 Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供 ...
- 《linux系统及其编程》实验课记录(二)
实验 2:获取对使用命令的帮助 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统.有另外一个无特权用户 student,密码 student ...
- Mac 终端命令行颜色高亮显示
一.颜色高亮显示 针对terminal采用bash模式: 编辑 ~/.bash_profile, 加入以下代码: export CLICOLOR=1 export LSCOLORS=gxfxaxdxc ...
- 【转】MFC OnIdle的详细说明
转载出处:http://blog.csdn.net/tsing_best/article/details/25055707 CWinApp::OnIdlevirtual BOOL OnIdle( LO ...