第四章 深入JSP技术
JSP简介
JSP工作原理 JSP是一种servlet,但先部署后编译。
JSP生命周期 运行时只会有一个实例,同servlet。
JSP语法
- JSP元素和模板数据 模板数据就是JSP中的HTML代码,元素就是Java部分以及JSP指令(Directive)与JSP标签(Tag)。
- JSP脚本 JSP脚本必须用<% %>括起来。
- JSP输出 <%= %>可输出各种类型数据,注意变量后没有分号";"。
- JSP注释 除了java注释外,还可用<%-- --%>
- JSP方法 JSP可以声明方法和变量,但不能在<%-- --%>中直接声明。需要使用<%! %>。

- JSP的if语句 if语句中可以包含html语句,此时只需将所有的java语句用<% %>括起来。
- JSP的return语句 JSP中使用return语句可以终止程序运行。(包括return语句后面的java代码和html语句都会被忽略)
- JSP的break语句 跳出循环,继续执行外层代码。
JSP指令
JSP指令用于声明JSP页面的属性(文档类型,编码方式),用<%@ %>表示。
1.page指令


2.include指令





3.taglib指令

JSP行为

1.<jsp:include/>行为


注意区别<%@ page include="URI">与<jsp:include/>。
2.使用Java Bean(POJO)







使用<jsp:setProperty name="person" property="*"/>,自动获取request中的值并放入对象person中去。


3.scope实现计数器
通过对上述Java Bean实例对象设置不同的scope,可实现不同计数功能。比如写一个计数类,在JSP中实例化,并设置scope为application,则该对象在整个web应用内斗有效,通过调用计数类的函数,即可统计访问web应用的次数。具体代码如下:


当执行<jsp:getProperty name="totalCount" property="count" />时,会自动执行totalCount对象的方法getCount()来获取count属性值。
4.<jsp:plugin/>嵌入Applet






5.<jsp:forward/>行为


6.<jsp:directive/>行为

JSP隐藏对象
不同于servlet中某些对象需要通过response或request获取(如response.getWriter()),JSP内置9个隐藏对象可直接使用。分别为out,request,response,config,session,application,page,pageContext,exception.
1.out输出对象


2.request对象

3.response对象


4.config配置对象

5.session对象

6.applicat应用程序对象

7.page页面对象

8.pageContext页面对象

9.exception异常对象


JSP配置

<jsp-config/>


EL表达式


隐藏对象


EL表达式的运算



第四章 深入JSP技术的更多相关文章
- JSP Web第四章整理复习 JSP技术基础
P104 JSP简介 (1)基本概念:jsp技术.jsp.jsp网页组成 JSP技术基础java servlet和整个java体系的Web服务器端开发技术. JSP表示它是用java写的Web服务页面 ...
- 05 技术内幕 T-SQL 查询读书笔记(第四章)
第四章 子查询:在外部查询内嵌套的内部查询(按照期望值的数量分为,标量子查询 scalar subqueries,多值子查询multivalued subqueries)(按照子查询对外部查询的依赖性 ...
- java的JSP技术
java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...
- 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章 ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (21) -----第四章 ASP.NET MVC中使用实体框架之在页面中创建查询和使用ASP.NET URL路由过虑
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 4.2. 构建一个搜索查询 搜索数据是几乎所有应用的一个基本功能.它一般是动态的,因 ...
- 精通Web Analytics 2.0 (6) 第四章:点击流分析的奇妙世界:实际的解决方案
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第四章:点击流分析的奇妙世界:实际的解决方案 到开始实际工作的时候了.哦耶! 在本章中,您将了解到一些最重要的网络分析报告,我将 ...
- Servlet,jsp,JSP技术 ,JSP编程
一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...
- KnockoutJS 3.X API 第四章 表单绑定(11) options绑定
目的 options绑定主要用于下拉列表中(即<select>元素)或多选列表(例如,<select size='6'>).此绑定不能与除<select>元素之外的 ...
- Java Web之JSP技术
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...
随机推荐
- 对大数据的批量导入MySQL数据库
自己的库里有索引在用insert导入数据时会变慢很多 使用事务+批量导入 可以配置使用spring+mybatis整合的方式关闭自动提交事务(地址),选择批量导入每一百条导入使用list存储值传入到m ...
- spark or sparkstreaming的内存泄露问题?
关于sparkstreaming的无法正常产生数据---->到崩溃---->到数据读写极为缓慢(或块丢失?)问题 前两阶段请看我的博客:https://www.cnblogs.com/wa ...
- vs code 写C心得
用命令行的话可能比较简单: g++ -o [目标文件名] [原文件名] 然后在当前路径下直接执行这个文件,查看程序执行结果 例如: g++ -o a.out test.cpp ./a.out 默认是a ...
- SQL注入总结篇
分类SQL注入的攻击方式根据应用程序处理数据库返回内容的不同,可以分为可显注入.报错注入和盲注. 可显注入攻击者可以直接在当前界面内容中获取想要获得的内容. 报错注入数据库查询返回结果并没有在页面中显 ...
- css中元素的分类
按照显示元素分类: 行内元素(lnline-element):元素的高度,行高,顶底边距由元素所包含的图片或文字所决定,不可改变:其宽度为内容文字或图片的宽度所决定,而其左右边距可人为设置. 行内元素 ...
- 机器人操作系统ROS-工作空间的建立
运行例子为重德智能的github中的robot_sim_demo 创建一个robot_ws工作空间 1. mkdir -p robot_ws/src #创建catkin 工作空间 2. cd ro ...
- 20155213 2016-2017-2《Java程序设计》第三周学习总结
20155213 2016-2017-2<Java程序设计>第三周学习总结 教材学习内容总结 类与对象 类和对象的关系:类决定对象,对象反映类的性质 定义值域成员:在新建的类中定义变量,可 ...
- 20155313 2016-2017-2 《Java程序设计》第十周学习总结
20155313 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 程序员所作的事情就 ...
- 20155313 2016-2017-2 《Java程序设计》第二周学习总结
20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...
- stardict词库
http://download.huzheng.org/zh_CN/ sudo tar -jxvf * -C /usr/share/stardict/dic