JSP--JSP语法--指令---九大隐式对象--四大域对象--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的动作元素
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--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构的更多相关文章
- JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HT ...
- JSP的学习(6)——九大隐式对象及其out对象
本篇将介绍JSP中的九大隐式对象,并重点介绍其中的out对象. 我们在之前的博客<JSP的学习(1)——基础知识与底层原理>一文中已经知道,JSP最终要被翻译和转换成Servlet,在转换 ...
- 20160331javaweb之JSP include 指令&&九大隐式对象
3.零散知识 (1)jsp映射 <servlet> <servlet-name>index</servlet-name> <jsp-file>/inde ...
- JSP页面以及JSP九大隐式对象
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. 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对象,开发人员可以直接调用它们而不用显式地声明它们再调用. J ...
- JSP九大隐式对象
JSP九大隐式对象 request HttpServletRequest response HttpServletResponse session HttpSession application Se ...
- 四大域对象,和jsp的九大隐式对象,已经el表达式的11个隐式对象
四大域对象 1.PageContext :页面范围的数据 2.ServletRequest:请求范围的数据 3.HttpSession:回话范围的数据 4.ServletContext:应用范围的数据 ...
随机推荐
- poj Squares n个点,共能组成多少个正方形 二分 + 哈希
题目链接:http://poj.org/problem?id=2002 测试数据: 41 00 11 10 090 01 02 00 21 22 20 11 12 14-2 53 70 05 20 有 ...
- 阿里正式发布《Java开发手册》终极版!
摘要: 本文讲的是阿里正式发布<Java开发手册>终极版!,别人都说我们是码农,但我们知道,自己是个艺术家.也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美.质 ...
- uvalive 3231 Fair Share 公平分配问题 二分+最大流 右边最多流量的结点流量尽量少。
/** 题目: uvalive 3231 Fair Share 公平分配问题 链接:https://vjudge.net/problem/UVALive-3231 题意:有m个任务,n个处理器,每个任 ...
- SmartStoreNet解图
概述: Ioc: Autofac 1. 通过继承, 对MVC的Controller的加强.
- Telnet发送邮件之聊以自慰
北京的冬天,闲着无聊,得做点什么暖暖脑袋,用windows系统自带工具telnet玩了把邮件发送 准备工作: 1.打开windows系统telnet客户端功能 2.准备两个邮箱帐号(xxx@163.c ...
- Java接口成员变量和方法默认修饰符
Java的interface中,成员变量的默认修饰符为:public static final 所以我们在interface中定义成员变量的时候,可以 1:public static final S ...
- python数据类型及运算符
python 的数据类型:数字.字符串.元组.列表.字典 type(a) 查看a的类型 数字: 整形int:-2 **32 ~+2**32 次方 长整形 a=123L 浮点float 复数型 - ...
- android应用安全——代码安全(android代码混淆)
android2.3的SDK开始在eclipse中支持代码混淆功能(理论上java都支持混淆,但关键在于如何编写proguard的混淆脚本,2.3的SDK使用简单的配置就可以实现混淆).使用SDK2. ...
- poj3414
Pots Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13545 Accepted: 5717 Special J ...
- Python 日志模块的定制
Python标准logging模块中主要分为四大块内容: Logger: 定义应用程序使用的接口 Handler: 将Loggers产生的日志输出到目的地 Filter: 对Loggers产生的日志进 ...