第四章 JSP

JSP基本语法

1 JSP中嵌入Java 代码

<% Java code %>

2 JSP中输出

<%= num %>

3 JSP 中的注释

<%--

--%>

4 JSP中生命方法和属性(全局变量)

<%!

private String name;

public String getName();

%>

5 JSP中的if, while, for, return, break语法即为包含在<%%>中的java代码

JSP指令

JSP指令用来声明JSP页面的一些属性,如编码方式、文档类型,JSP指令包含在<%@ 。。。%>中,基本语法为:

<%@ directive {attribute=value}* %>

Page指令:

例如:<%@ page language="java" contentType="text/html"; charset=utf-8"%>,此处的directive(指令)为page,所以此处为page指令

include指令:

用于引入应用程序内的另一个jsp文件或者html文件,基本语法形式为<%@ include file="***.jsp/html" %>.可用于导入页眉页脚等。注意与include行为的区别。include指令是“先包含(将包含的jsp导入到当前的文件中),再运行”,include行为是“先运行,再包含(运行时将include的文件单独执行,将结果放入当前jsp中)”

taglib指令:

JSP支持标签技术,使用标签功能能够实现视图代码的重用,用少量的代码是想很复杂的显示效果,要使用标签功能必须先声明标签库以及标签前缀。taglib用来指明JSP页面中使用的JSP标签库。

taglib有两个属性,uri为类库的地址,prefix为标签的前缀,如:<%@ taaglib uri="http:java.sun.com/jsp/jstl/core" prefix="c" %>

JSP行为

JSP的行为是JSP内置的一组标签,JSP行为是对重用的JSP功能的抽象和封装,包括自定义行为和标准行为。自定义行为就是JSP的自定义标签。JSP行为只需要书写很少量的代码就能用JSP提供的丰富功能。

1 include行为:

用于运行时包含某个文件,如果被包含的是jsp程序,则先执行jsp程序,然后再将执行结果包含进来。语法为:<jsp:include page="***.jsp" flush="true"/>

2 Java Bean相关的行为:

useBean行为,<jsp:useBean id="" class="" scope=""/>,其中id指明java bean的名称,在JSP中可用用该id值引用java bean对象。class代表java bean类的全名。scope代表该java bean对象的范围,可以设置为page、request、session、application。

与其对应的是设置和获取java bean的行为:<jsp:setProperty name="" property="">, <jsp:getProperty name="" property=""/>

3 jsp中嵌入Applet的jsp行为:

<jsp:plugin/>用于在jsp中定义applet,并定义applet的宽度高度等属性,<jsp:params />定义一组一对多的参数, <jsp:param />定义单个的参数, <jsp:fallback />用于定义不支持Applet的替代信息。

4 <jsp:forward>跳转行为:

与servlet中request.getRequestDispatcher("someServlet").forward(request, response)相似,jsp的跳转语法如下为,

<jsp:forward page="/a.jsp">

<jsp:param name="p1" value="v1" />

<jsp:param name="p2" value="v2" />

</jsp:forward>

5 <jsp:directive>行为

<jsp:directive />行为相当于jsp指令,例如:<jsp:directive.page>行为相当于<%@ page%>指令。现在的java web平台倾向于使用jsp行为替代jsp指令,因为jsp行为更清晰。

JSP隐藏对象

jsp内置了9个隐藏对象:out, request, response, config, session, application, page, pageContext and exception.

JSP配置

EL表达式的使用!!!

[Java Web 王者归来]读书笔记3的更多相关文章

  1. [Java Web 王者归来]读书笔记1

    第一章 Java web 开发概述 1 WEB服务器运行时一直在TCP 80(默认端口)监听, 若使用其他端口在url中需要显示标注端口号(例如:8080) 2 WEB服务器:微软的IIS.Apach ...

  2. [Java Web 王者归来]读书笔记2

    第二篇 基础篇 第三章 深入Servlet技术 1 浏览器的request http数据报中包含一些关键信息,如访问方式.所用的http版本.所用的浏览器.当前的页面地址等信息 2 http查询数据方 ...

  3. 《大型网站系统与Java中间件》读书笔记 (中)

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾上一篇: <大型网站系统与Java中间件& ...

  4. 《深入java虚拟机》读书笔记之垃圾收集器与内存分配策略

    前言 该读书笔记用于记录在学习<深入理解Java虚拟机--JVM高级特性与最佳实践>一书中的一些重要知识点,对其中的部分内容进行归纳,或者是对其中不明白的地方做一些注释.主要是方便之后进行 ...

  5. JAVA编程思想读书笔记(五)--多线程

    接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/detail ...

  6. JAVA编程思想读书笔记(四)--对象的克隆

    接上篇JAVA编程思想读书笔记(三)--RTTI No1: 类的克隆 public class MyObject implements Cloneable { int i; public MyObje ...

  7. JAVA编程思想读书笔记(三)--RTTI

    接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...

  8. JAVA编程思想读书笔记(二)--容器

    接上篇JAVA编程思想读书笔记(一) 第八章.对象的容纳 No1: java提供了四种类型的集合类:Vector(矢量).BitSet(位集).Stack(堆栈).Hashtable(散列表) No2 ...

  9. 《深入java虚拟机》读书笔记之Java内存区域

    前言 该读书笔记用于记录在学习<深入理解Java虚拟机--JVM高级特性与最佳实践>一书中的一些重要知识点,对其中的部分内容进行归纳,主要是方便之后进行复习. 运行时数据区域 Java虚拟 ...

随机推荐

  1. [zoj3990]Tree Equation

    记$dep(T)$为树$T$的深度(根节点深度为0),则有$\begin{cases}dep(A+B)=\max(dep(A),dep(B))\\dep(A\cdot B)=dep(A)+dep(B) ...

  2. [loj6500]操作

    差分,令$b_{i}=a_{i-1}\oplus a_{i}$,对于一个区间$[l,r]$,相当于令$a_{l-1}=a_{r+1}=0$之后求出$b_{l..r+1}$,对区间$[i-k,i)$异或 ...

  3. 提升 RTC 音频体验 - 从搞懂硬件开始

    前言 RTC(实时音视频通信)技术的快速发展,助力了直播.短视频等互动娱乐形式的普及:在全球疫情持续蔓延的态势下,云会议需求呈现爆发式增长,进一步推动了 RTC 行业的快速发展.为了给客户提供稳定可靠 ...

  4. vcstool是什么?

    为什么会去了解vcstool,在想要手动编译并且获取ROS源码的时候,有一个Get ROS 2 code的章节中使用到了这个工具. mkdir -p ~/ros2_foxy/src cd ~/ros2 ...

  5. 解决ip和域名都能够ping通但是启动nginx无法访问网页的问题

    解决思路 最近双11逛西部数码的官网看看有没有什么服务器优惠的时候,发现了可以申请一个一块钱用一整年的SSL证书,立马心动下单了,想想俺也可以用https装装X了哈哈 不过在部署完证书,并调整ngin ...

  6. Redis 很屌,不懂使用规范就糟蹋了

    这可能是最中肯的 Redis 使用规范了 码哥,昨天我被公司 Leader 批评了. 我在单身红娘婚恋类型互联网公司工作,在双十一推出下单就送女朋友的活动. 谁曾想,凌晨 12 点之后,用户量暴增,出 ...

  7. 洛谷 P3266 - [JLOI2015]骗我呢(容斥原理+组合数学)

    题面传送门 神仙题. 首先乍一看此题非常棘手,不过注意到有一个条件 \(0\le x_{i,j}\le m\),而整个矩阵恰好有 \(m\) 列,这就启发我们考虑将每个元素的上下界求出来,如果我们第一 ...

  8. Shell中 ##%% 操作变量名

    在linxu平台下少不了对变量名的处理,今天记录下shell中 ##%% 对变量名的操作. #操作左侧,%操作右侧. #号处理方式: 对于单个#,处理对象为变量中指定的第一个符号左侧字符串, 对于两个 ...

  9. 58-Odd Even Linked List

    Odd Even Linked List My Submissions QuestionEditorial Solution Total Accepted: 29496 Total Submissio ...

  10. react native 导航器 Navigator 简单的例子

    最近学习react native 是在为全栈工程师而努力,看网上把react native说的各种好,忍不住学习了一把.总体感觉还可以,特别是可以开发android和ios这点非常厉害,刚开始入门需要 ...