c标签判断true false jsp_Java学习知识点:小白如何掌握JSP技术?

今天千锋广州小编就给大家分享零基础如何掌握JSP技术,下面一起来看看吧!

一、Java初级开发之jsp概述

1.关于jsp

JavaServer Pages简称jsp,从“server”这个词可以看出,这其实也是一门java服务端技术,其实可以简单的把jsp认为是servlet,一点错也没有。Jsp的实质,就是客户端需要的资源是通过jsp技术动态生成的。

2.jsp的技术原理

1)当客户端在访问一个jsp资源时,服务器上有相应的servlet来负责jsp资源,那么该servlet将会把jsp页面翻译成一个servlet,然后执行该servlet的service方法。

2)服务器将jsp翻译成java程序(就是一个Servlet),然后执行该Servlet的service方法,在方法内部动态地向客户端写html代码。

因此jsp就是一个servlet,也就是jsp页面将被翻译成servlet

3.jsp与servlet的选择

jsp就是servlet,那么如果碰到需要写繁多的html代码,建议使用jsp,如果需要写繁多的java代码,建议使用servlet。

219d28b9fadee0dc34eb8dd41bac505b.png

​二、JSP技术详解

1.JSP脚本

就是怎样在jsp页面中使用java代码,使用了脚本的地方,就不会作为输出流的内容,而是作为java代码来执行。使用方式有三种:

1)

jav代码会被作为程序的一部分来执行,而不会被翻译成out.write(),这是常用的。

2)

会被翻译成 out.print(java代码)

3)

声明成员变量。

4)jsp的注释方式

· html的注释:

用户看得到,程序员也看得到

· java的注释:// 单行注释 /多行注释/

用户看不到,但是会被翻译

· jsp的注释:

用户看不到,不会被翻译,只有程序员在写jsp页面时才看得到。

2.三大指令

1)page指令

page指令是用于告诉服务器该如何翻译此jsp页面。通过page指令的属性来指明翻译的效果。

· language: 指的是jsp页面支持哪种语言,只支持java,所以该属性可以省略

· pageEncoding和contentType写一个就行,建议使用pageEncoding,更加简单

· session:默认值是true,默认情况下服务器会为该页面开辟一个session空间

· import:用于导入该页面中的java类需要用到的包

· errorPage:当发生错误时跳转到的资源,注意,该地址是一个服务器地址。

· isErrorPage:默认值是false。当在web.xml中配置错误页面时,需要将该jsp页面的isErrorPage设为true.

404

/error.jsp

总结:一般情况下,page指令就这么写即可:

2)include指令:静态包含,file属性使用的是服务器地址。

include指令是用于在一个jsp页面中包含另一个jsp页面,两个页面组合成一个页面发送给客户端。

所谓的静态包含,在翻译时是把被包含的jsp页面写给客户端。那么此时客户端拿到的是两套html标签。

3)taglib指令:标签库

taglib指令用于引入第三方标签库,通过taglib指令中的prefix指明前缀,通过前缀来使用第三方标签库中的标签

3.四大域对象 (jsp有四个,servlet有三个(request,session,servletContext))

1) pageContext

(1)pageContext作为域对象

· 描述当前page的上下文。那么pageContext对象是一个域对象,所谓域对象,就是提供了一个区域,用来存储数据。因此当前的page就能向pageContext对象中存储数据.

pageContext域对象的作用范围:当前page(页面)

setAttribute(String key,Object value);

getAttribute(String key);

removeAttribute(String key);

· 向其他域对象中操作数据.

pageContext.setAttribute(String key,Object value, int scope);向其他域对象中存值

pageContext.getAttribute(String key, int scope);向其他域对象中取值

pageContext.removeAttribute(String key, int scope);向其他域对象中移除值

int scope来自于PageContext类的常量

REQUEST_SCOPE: 表示request域

SESSION_SCOPE: 表示session域

APPLICATION_SCOPE: 表示application域

· findAttribute(String key):Object :这是通过键,向所有域中搜索数据。

搜索的顺序:

pageContext->request->session->application

(2)可以通过pageContext对象来获取其他八个内置对象

通过pageContext的get*()来获得。

2)request

作用范围:一次请求

3)session

作用范围:一次会话

4)application

作用范围:当前web应用

4.九大内置对象

所谓的内置对象,即在jsp页面的脚本中能直接使用的java对象。

· out: 输出流

当通过out的write()写内容时,实际是往out的缓冲区(默认大小是8kb)中去写,有两种情况导致缓冲区的内容会冲刷进底层的输出流中

1)out对象被销毁

2)out的缓冲区不够用了。其实我们可以设置out缓冲区的大小。如果缓冲区是0kb,那么out就把内容直接写到response缓冲区中。

· page:this,表示当前的Servlet对象

· pageContext:重点,表示当前page的上下文对象,也是一个域对象

· session:当jsp页面的page指令的session属性为true时,才会有session对象

· request:

· response

· exception 当jsp页面的page指令的isErrorPage属性为true时,才会有exception对象

· application: 实际就是ServletContext对象

· config:实际就是ServletConfig对象

5.Jsp标签

1) jsp:include

动态包含:在一个页面中包含另一个页面的内容

和静态的区别:

静态包含会在翻译的过程中直接翻译被包含的页面,被包含的页面不会产生java文件。

而动态包含会在翻译的过程中只翻译自己页面的内容,被包含的页面的翻译交给相应的类来完成,被包含的页面会产生java文件,实际开发中更加常用动态包含。

2)jsp:forward

请求转发,与servlet中的请求转发的效果一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python语言保留字的特点_python保留字及其说明

原博文 2019-07-14 22:05 − 保留字 说 明 and 用于表达式运算,逻辑与操作 as 用于类型转换 assert 断言,用于判断变量或条件表达式的值是否为真 break 中断循环语句的执行 class 用于定义类 continue 继续执行下一次循环 ...011647 相关推荐 2019-12-19…

使用Java操作Redis的两种方式Jedis、RedisTemplate

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

python提取数据库数据_Python如何读取MySQL数据库表数据

本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 代码: # -*- coding: utf-8 -*- import p…

【项目实战】基于Redis实现短信验证码登录 (附源码、思路)

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

加工中心刻字宏程序_FANUC OI系列图书——车床、铣床及加工中心编程

☞ 这是金属加工(mw1950pub)发布的第10035篇文章导读今天跟大家分享FANUC OI系列图书,包括车床、铣床及加工中心编程,快来看看吧!《FANUC 0i数控车床/加工中心编程技巧与实例》选择在企业里应用*广泛、编程*具代表性的日本FANUCSeries0i-TC/T…

Redis 的缓存策略

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

关闭后天 树莓派_陪你一起玩树莓派-系统安装

从今天就开始我们的树莓派之旅,心情是不是有点小激动?我们拿到一个树莓派是一个裸机。我们要准备一张16G的高速TF闪存卡,一个5V/2A的USB电源和一根micro B的 usb线。装机步骤:一、下载树莓派系统1、浏览器打开树莓派官方网站 http…

简单的签到代码_PHP实现一个小小的签到功能,到底用MySQL还是Redis?

来源 | http://suo.im/5EWN3k今天,看下签到功能怎么选择?现在的网站和app开发中,签到是一个很常见的功能,如微博签到送积分,签到排行榜~微博签到如移动app ,签到送流量等活动,移动app签到用户签…

【Redis 6】缓存穿透、缓存雪崩、缓存击穿(附解决方案、代码)

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

8软件遇到的问题及解决方法_Excel工作表中的8个常见问题,你一定遇到过,附解决方法...

在Excel工作表中,最常用的还是一些技巧,如果能够熟练掌握,对于工作效率的提高绝对不是一点点哦,结合工作实际,小编对工作中常见的问题进行了总结,一共有8类,你一定也遇到过……一、Excel工作表常…

unity着色器和屏幕特效开发秘笈_Oculus研发分享:开发移动VR内容时应避免的PC渲染技术...

查看引用/信息源请点击:映维网开发移动VR内容时应避免的PC渲染技术(映维网 2019年11月25日)有不少开发者都是以与PC相同的方式来开发Quest游戏,但这可能会导致优化性能方面出现大量困难。Oculus软件工程师特雷弗达什(T…

Java包装类、java中的方法传参机制:按值调用

各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 💡涉及的知识点速通🛫 方法…

尤克里里怎么样_尤克里里和吉他区别?尤克里里与吉他相比有什么不可替代的优势...

尤克里里和吉他有什么区别?想必大家都见过尤克里里吧,就是类似吉他形状的一种小型弦拨乐器。我们可以简单的认为:尤克里里是简化版本的吉他,更加简单,更加便宜。小编弹的就是尤克里里2.从外观上:吉他很大&a…

饿汉懒汉单例设计模式的使用及区别、java中的import关键字

各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 💡涉及的知识点速通🛫 关于…

广电运通不好进吗_我可以说郑州新风的安装大部分都是垃圾吗?

说郑州的新风安装都是垃圾,这话很无礼,很自大,很傲慢,但是我能说确实是这样嘛?其实包括我以前安装的也不合格——虽然我不是故意的。这几年见过许多家同行安装的新风,可以说目前见到的很多家都不合格&#…

Java迭代器和Collection接口

各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 💡涉及的知识点速通🛫 关于…

私钥经过哈希计算可以产生公钥_「区块链基础概念100」:公钥和私钥 | 027

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。小编:记得关注哦投资区块链,猛戳:火星财经App下载来源:学习区块链原文标题:「…

关于List集合类ArrayList、LinkedList、Vector详解

各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 💡涉及的知识点速通🛫 关于…

关于Set集合类你都知道什么?来自《卷Ⅰ》的灵魂提问

各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 💡涉及的知识点速通🛫 关于…

流程图虚线框表示什么_UI设计|APP的交互线框布局设计

一.流程图设计流程图(Flow Chart):用图示的方式反映出特定主体为了满足特定需求而进行的有特定逻辑关系的一系列操作过程。流程图的四种基本结构:顺序结构,条件结构(又称选择结构),循环结构,分支结构。1.流程图的常用符…