[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虚拟 ...
随机推荐
- shuffle.java
/************************************************************************* * Compilation: javac Shuf ...
- 第05章 MySQL排序与分页
第05章 MySQL排序与分页 1. 排序数据 1.1 排序规则 使用 ORDER BY 子句排序 ASC(ascend): 升序 DESC(descend):降序 ORDER BY 子句在SELEC ...
- ROS机器人开发实践1->SSH远程登录要点记录
1.有线网卡 设置 找到有线网络,点击设置,修改其中的IPv4的地址和子网掩码. 1 //地址 2 192.168.xxx.xxx 3 //子网掩码 4 255.255.255.0 点击应用 2.配置 ...
- PostgreSQL 数据库备份与还原
PostgreSQL 数据库备份与还原 目录 备份 还原 栗子 备份 PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以 ...
- Spring-boot -Web开发
1).创建SpringBoot应用,选中我们需要的模块: 2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 3).自己编写业务代码: 文件名的功能 x ...
- 【MetDNA】基于代谢反应网络的大规模代谢物结构鉴定新算法
代谢是生命体内化学反应的总称,其所包含的代谢物变化规律可直接反映生命体的健康状态.非靶向代谢组学(untargeted metabolomics)可以在系统水平测量生命体内生理或病理状态下所有代谢物的 ...
- Linux运维工程师面试题整理
1. Nginx 反向代理,负载均衡,动静分离,工作原理及优化nginx配置反向代理. vim Nginx.confServer模块中配置Listen 80Server_name ip;在server ...
- 【Linux】CentOS下升级Python和Pip版本全自动化py脚本
[Linux]CentOS下升级Python和Pip版本全自动化py脚本 CentOS7.6自带py2.7和py3.6 想要安装其它版本的话就要自己重新下载和编译py其它版本并且配置环境,主要是软链接 ...
- jmeter+ant输出测试报告
jmeter自己本身可以输出html测试报告的,不过这种自带的测试报告特别简陋,如下图所示,一般我们是不看这种的. 我们可以使用ant来输出更高效.更直观的测试报告. 首先下载安装ant, 我用的是a ...
- day06 视图层
day06 视图层 今日内容 视图层 小白必会三板斧 JsonResponse form表单发送文件 FBV与CBV FBV基于函数的视图 CBV基于类的视图 模板层 模板语法的传值 模板语法之过滤器 ...