[Java Web 王者归来]读书笔记3
第四章 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的更多相关文章
- [Java Web 王者归来]读书笔记1
第一章 Java web 开发概述 1 WEB服务器运行时一直在TCP 80(默认端口)监听, 若使用其他端口在url中需要显示标注端口号(例如:8080) 2 WEB服务器:微软的IIS.Apach ...
- [Java Web 王者归来]读书笔记2
第二篇 基础篇 第三章 深入Servlet技术 1 浏览器的request http数据报中包含一些关键信息,如访问方式.所用的http版本.所用的浏览器.当前的页面地址等信息 2 http查询数据方 ...
- 《大型网站系统与Java中间件》读书笔记 (中)
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾上一篇: <大型网站系统与Java中间件& ...
- 《深入java虚拟机》读书笔记之垃圾收集器与内存分配策略
前言 该读书笔记用于记录在学习<深入理解Java虚拟机--JVM高级特性与最佳实践>一书中的一些重要知识点,对其中的部分内容进行归纳,或者是对其中不明白的地方做一些注释.主要是方便之后进行 ...
- JAVA编程思想读书笔记(五)--多线程
接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/detail ...
- JAVA编程思想读书笔记(四)--对象的克隆
接上篇JAVA编程思想读书笔记(三)--RTTI No1: 类的克隆 public class MyObject implements Cloneable { int i; public MyObje ...
- JAVA编程思想读书笔记(三)--RTTI
接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...
- JAVA编程思想读书笔记(二)--容器
接上篇JAVA编程思想读书笔记(一) 第八章.对象的容纳 No1: java提供了四种类型的集合类:Vector(矢量).BitSet(位集).Stack(堆栈).Hashtable(散列表) No2 ...
- 《深入java虚拟机》读书笔记之Java内存区域
前言 该读书笔记用于记录在学习<深入理解Java虚拟机--JVM高级特性与最佳实践>一书中的一些重要知识点,对其中的部分内容进行归纳,主要是方便之后进行复习. 运行时数据区域 Java虚拟 ...
随机推荐
- nginx 支持websocket
nginx 反向代理websocket nginx配置 请求地址及路径:ws://x.x.x.x/web/springws/websocket.ws 解析 map 指令 上面 nginx.conf 配 ...
- 修改eclipse中注释字体而不影响代码字体
eclipse的注释字体大小如何修改?不改变代码的字体 貌似没有直接的办法,但是可以取个巧: Window --> Preferences --> General --> Appea ...
- 【Microsoft Azure 的1024种玩法】四. 利用Azure Virtual machines 打造个人专属云盘,速度吊打某云盘
[简介] 1.Azure Virtual machines是Azure 提供的多种可缩放按需分配计算资源之一,Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或 ...
- N皇后问题解法
// // Created by Administrator on 2021/8/5. // #ifndef C__TEST01_NQUEENS_HPP #define C__TEST01_NQUEE ...
- 规格模式(Specification Pattern)
本文节选自<设计模式就该这样学> 1 规格模式的定义 规格模式(Specification Pattern)可以认为是组合模式的一种扩展.很多时候程序中的某些条件决定了业务逻辑,这些条件就 ...
- es插件安装
首先安装找到一样版本的地址: Release v7.6.1 · medcl/elasticsearch-analysis-ik (github.com) 下载最上面的编译版 将文件解压到plugins ...
- vue create is a Vue CLI 3 only command and you are using Vue CLI 2.9.6. You
这是因为你安装的是2.9的版本用了3.0的命令 解决方法:1.用2.9的命令初始化项目 vue init webpack my-project 2.卸载2.9升级到3.0
- 【SCOI2005】繁忙的都市
Description 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口 ...
- Codeforces 1499G - Graph Coloring(带权并查集+欧拉回路)
Codeforces 题面传送门 & 洛谷题面传送门 一道非常神仙的题 %%%%%%%%%%%% 首先看到这样的设问,做题数量多一点的同学不难想到这个题.事实上对于此题而言,题面中那个&quo ...
- 洛谷 P5518 - [MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题(莫比乌斯反演+整除分块)
洛谷题面传送门 一道究极恶心的毒瘤六合一题,式子推了我满满两面 A4 纸-- 首先我们可以将式子拆成: \[ans=\prod\limits_{i=1}^A\prod\limits_{j=1}^B\p ...