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--- ...
随机推荐
- extjs,ComboReturn
package cn.edu.hbcf.common.vo; import java.io.Serializable; public class ComboReturn implements Seri ...
- RxBinding -- 官网说明
RxBinding -- 官网说明 新建 模板 小书匠 作用 组件 平台绑定 support-v4 绑定 appcompact-v7 绑定 design 库绑定 recyclerview-v7 绑定 ...
- jQuery 实战读书笔记之第三章:操作 jQuery 集合
创建新 HTML 元素 $('<div>Hello</div>'); /* 创建等价的空 div 元素 */ $('<div>'); $('<div /> ...
- vsftpd服务tar包安装
一般如果有网络ubuntu直接apt-get install 安装vsftpd服务即可. 没网络只能下好vsftpd的tar包自己安装配置. 1. 解压 tar -xvf vsftpd-3.0.2.t ...
- GCD 莫比乌斯反演 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对.
/** 题目:GCD 链接:https://vjudge.net/contest/178455#problem/E 题意:给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对( ...
- 同学帮帮移动 H5 弹出层类组件:txbb-pop
Txbb.Pop 同学帮帮弹出层类组件,简洁.无依赖,使用 CSS3 实现动画效果. 为什么要再造一遍轮子 弹出层是常见的业务场景,而且弹出层的业务场景很简单,没必要使用大而全的库,并且,我们经常会有 ...
- Container类是Component的子类,它也是一个抽象类,它允许其他的组件(Component)加入其中
在AWT中,所有能在屏幕上显示的组件(component )对应的类,均是 抽象类 Component 的子类或子孙类. 这些类均可继承Component类的变量和方法. Container类是Com ...
- redux sample with redux source code
code sample没有package.json文件,也就没有任何外部依赖,直接使用redux source code. nodejs对es6的import export还不支持,这里使用了stac ...
- 根本上解决npm install 报错“ajv-keywords@3.4.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.“
每次项目npm install 的时候都报这个错误, 然后网上找的方法就把这个 ajv重新安装下,感觉有点麻烦, 后来有次我把npm更新了一下(我的版本是: 6.1.0),更新到了最新版本,这个问题就 ...
- poj 2187:Beauty Contest(计算几何,求凸包,最远点对)
Beauty Contest Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 26180 Accepted: 8081 D ...