第四章 深入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 ...
随机推荐
- 树莓派3B+学习笔记:12、安装FireFox浏览器
1.在终端中输入 sudo apt-get install iceweasel 2.安装完成后菜单中会自动生成快捷方式 什么是 iceweasel? Iceweasel 是 Firefox(火狐浏览器 ...
- STM32F4寄存器编写跑马灯例程
最近由于在学习STM32看到别人用寄存器编程控制跑马灯,于是自己也想试一试.可是试了好久终究弄不出来.回头看了下库函数的调用关系才搞明白.首先通过查看GPIOA的设置函数发现设置如下: void GP ...
- CVE-2018-8174 EXP 0day python
usage: CVE-2018-8174.py [-h] -u URL -o OUTPUT [-i IP] [-p PORT] Exploit for CVE-2018-8174 optional a ...
- STM32 SIM800C SIM868 连接OneNet 以及远程控制流程详解
Onenet控制继电器教程 本文基于STM32物联网开发版:https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.29e71debNLqzW ...
- excel中CTRL+E的用法
偶然发现excel中CTRL+E有按照例子填充的功能. 结果如下
- Asp.net Core Startup Class中是如何获取配置信息的
默认的网站构建方式 VS2015新建asp.net core项目,项目建立完成后,有两个文件,Program.cs和Startup.cs. public class Program { public ...
- 20155212 实验二 Java面向对象程序设计
20155212 实验二 Java面向对象程序设计 单元测试 三种代码 用编程去解决问题,必须学会写三种码: 伪代码 产品代码 测试代码 例: MyUtil 类解决一个百分制成绩转成"优.良 ...
- day 4 继承
1.继承引入,减少代码量 1)版本1: class Animal: '''定义一个动物类''' def eat(self): print("----吃----") def drin ...
- ELKStack入门篇(三)之logstash收集日志写入redis
1.部署Redis 1.1.下载redis [root@linux-node2 ~]# wget http://download.redis.io/releases/redis-4.0.6.tar.g ...
- idea 新建 maven项目遇到的一些问题
idea创建好了maven项目之后,需要先在项目中添加 Web,这里创建Web时就会要求fix一个Artifacts,新建即可,然后面板设置默认即可(shift+ctrl+alt+s 打开面板): 然 ...