专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

jsp是什么,JSP详解(四大作用域和九大内置对象)

来源:小嗨整编  作者:小嗨  发布时间:2023-02-23 08:21
摘要:jsp是什么,JSP详解(四大作用域和九大内置对象)一、JSP    1、什么是JSP?       JSP(JavaServerPages):是以Java语言为基础的动态网页开发技术,       特点:          Servlet...

     元素:JSP中的java部分,包括脚本(JavaScript,或者java代码)以及JSP指令(Directive)与JSP标签(Tag)等,元素决定着程序的流程,元素是不会显示到浏览器的。这几个都会在接下来讲解到

     JSP脚本:

        1、使用

jsp是什么,JSP详解(四大作用域和九大内置对象)

为什么能够使用out输出?这里就涉及到了JSP的九大内置对象了,后面会讲解到,到时候回过头来在看看这里,就会知道为什么可以使用。

           来看看,jsp变为servlet时的代码是如何编写的。            

jsp是什么,JSP详解(四大作用域和九大内置对象)

在JSP中JSP指令(后面会讲):                

这句代码在servlet就变为了response.setContentType("text/html; charset=UTF-8");//这句代码的意思就是通知tomcat和浏览器都使用UTF-8码表,并且发送回浏览器的数据类型是text/html。这是有JSP指令中画红色部分代码转变的,而指令中的pageEncoding="UTF-8"的意思是JSP转换为Servlet时采用UTF-8码表编码,因为可能JSP中包含中文。

对于JSP模版数据来说,就原封不动的使用out.write()来输出到浏览器

而对于JSP元素来说,就会变成普通的java代码,因为在servlet中,就可以直接编写java代码。

2、使用

jsp是什么,JSP详解(四大作用域和九大内置对象)

          使用

jsp是什么,JSP详解(四大作用域和九大内置对象)

       3、JSP注释

          //  :java单行注释

          /* */  :Java多行注释

          <!-- -->   :这个注释,会发送到浏览器端的源码中显示

          注释分别在servlet中如何显示的?

          JSP注释不会在servlet文件中显示,而java注释则会,但其所有的注释到了浏览器端,都不会出现在源码中,只有<!-- -->这个注释会到浏览器的网页源码中去

      4、JSP中申明方法与属性(全局变量)  使用

          这个就不演示了,就是在JSP中编写方法或者属性时,使用

      5、在JSP中使用if语句,或者使用for循环,whilt循环等都可以实现,也就是编写脚本而已。

三、JSP指令

    指令用来申明JSP页面的一些属性,比如编码方式,文档类型。我们在servlet中也会申明我们使用的编码方式和响应的文档类型的,而JSP就是用指令来申明。上面我们也说到了一条指令,也就是page指令,

JSP指令格式:

解释:directive:指令名称,例如page指令

attribute=value:紧跟指令名称后面的就是各种属性,以键值对的形式书写

*:代表后面能跟0个或多个属性。

例如: page指令:用来声明JSP页面的属性等。

属性名称        取值范围          描述

language        java      解释该JSP文件时采用的语言,一般为java语言,默认为java

extends        任何类的全名   编译该JSP文件时继承哪个类,JSP为Servlet,因此当指明继承普通类时需要实现Servlet的init、destroy等方法

import         任何包名、类名  引入该JSP中用到的类、包等,import是唯一可以声明多次的page指令属性,一个import可以引用uogelei,中间用英文逗号隔开,

session        true、false    该JSP内是否内置Session对象,如果为true,则内置Session对象,可直接使用,否则反之,默认为true

autoFlush       true,false    是否运行缓存,如果为true,则使用out.println()等方法输出的字符串并不是立刻到达客户端服务器的,而是暂时存到缓存里,缓存了或者程序执行完毕或者执行out.flush()操作时才到客户端,默认为true。

buffer        none或者数字KB   指定缓存大小,当autoFlush设为true时有效,例如

isThreadSafe      true,false    是否线程安全,如果为true,则运行多个线程同时运行该jsp程序,否则只运行一个线程,其余线程等待,默认为false

isErrorPage      true,false     指定该页面是否为错误显示页面,如果为true,则该JSP内置有一个Exception对象exception,可直接使用,否则没有,默认为false

errorPage     某个JSP页面的相对路径  指明一个错误页面,如果该JSP程序抛出一个未捕捉的异常,则转到errorPage指定的页面,errorPage指定的页面通常isErrorPage属性为true,且内置的exception对象为未捕捉的异常

contentType     有效的文档类型    客户端浏览器根据该属性判断文档类型,例如 HTML格式为text/html、纯文本格式为text/plain、JPG图像为image/jpeg、GIF图                              像为image/gif、WORD文档为application/msword,该属性常跟着charset设置编码一起,作用是通知服务器和浏览器都使用同一                              个码表

info          任意字符串      指明JSP的信息,该信息可以通过Servlet.getServletInfo()方法获取到

trimDirective Whitespaces    true、false     是否去掉指令前后的空白字符,默认为false

pageEncoding    UTF-8,ISO-8859-1等    指定一张码表来对该JSP页面进行编码,include指令

比较简单,只有一种形式

特点:include指令会将包含页面的源代码添加到使用include指令的页面中来,然后编译成class文件,而等下会讲到的一个JSP行为,

taglib指令 JSP支持标签技术,后面会讲到标签的用法,jstl标签库的使用等,作用:用来指明JSP页面内使用的JSP标签库,taglib指令有两个属性,uri为类库的地址,prefix为标签的前缀

四、JSP行为

    前面讲了JSP语法,介绍了JSP页面中的内容有哪些,分别有什么作用,就两个东西,模块数据和元素。其中元素有包括脚本,指令,标签,脚本就是JSP中嵌入java代码,指令作用就是申明页面的属性,那标签是干嘛的,标签分为JSP自带内置的标签,和通过taglib指令来使用JSP标签库,或者自定义标签。现在我们先来讲一些JSP内置的标签。

     JSP内置的标签就被称为JSP行为(JSP Actions)。只要书写很少的标记代码就能使用JSP提供的丰富功能,JSP行为其实是对常用的JSP功能的抽象与封装,可以取代jsp脚本,让JSP中就少一些嵌入java代码的地方。

      格式:

          jsp:标签的前缀,说明是jsp内置的标签,

          elements:行为的名称,

          attribute=value:使用键值对来编写属性

          *:能指定0个或多个属性对

       include行为用于运行时包含某个文件,如果被包含的文件为JSP程序,则先会执行JSP程序,然后在把执行的结果包含进来。 作用是跟include指令一样的,唯一的区别就在于,include指令是将被包含的文件的源码加入到了本JSP程序中,然后在进行编译,属于静态包含,而include行为只是将被包含的文件的运行结果包含进自己。属于动态包含

jsp是什么,JSP详解(四大作用域和九大内置对象)

    Java bean行为

       是一组与Java Bean 相关的行为,包括useBean行为、setProperty行为、getProperty行为等

       Java Bean就是普通的Java类,也被称为POJO,只有私有的属性与对应的getter方法和setter方法,注意其中当私有的属性为boolean类型时,习惯上一般把getter方法写成isXxx();而不是getXxx();

       useBean行为  

             id:指明Java Bean对象的名称,JSP中可以使用该名称引用该Java Bean对象,相当于给new出来的对象取一个变量名,

             class:Java Bean类的全名

             scope:该java bean对象的作用范围,可以写的就四个,也就是JSP的四大作用域,page、request、session、application

                  page:只能在当前JSP页面使用,如果不在JSP页面,那么就会失效

                  request:这个前面学过,A页面请求转发到B页面,那么使用的是同一个request,那么A,B页面都算是request的作用域,也就是通过请求转发的页面都是其作                       用域

                  session:该作用域在一个web项目下任何位置应该读访问的到,只要cookie不关闭,并且cookie设置  的访问路径为"/",

                  application:其实就是Servlet中的servletContext,服务器下的所有项目都能访问到。

       setProperty行为

            对Java Bean对象进行属性的设置

            name:java bean对象的名称,也就是在useBean行为中的id

            property:对象中的属性名,

            value:要对其属性进行赋值的值

       getProperty行为

            获取JavaBean对象的某个属性值

            name:java bean 对象的名称,也就是在useBean行为中的id

            property:对象的属性名

      例子:  javabean:User.java  NewFile.jsp

      User.java


本文地址:IT问答频道 https://www.eeeoo.cn/itwenda/903327_2.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小嗨整编
相关文章相关阅读
  • 阴阳师辉夜姬带什么御魂(阴阳师辉夜姬值得养吗)?

    阴阳师辉夜姬带什么御魂(阴阳师辉夜姬值得养吗)?

    阴阳师辉夜姬带什么御魂(阴阳师辉夜姬值得养吗)?辉夜姬作为阴阳师中的一位强力辅助式神,凭借其独特的技能和强大的辅助能力,成为了许多玩家心仪的选择。那么辉夜姬究竟带什么御魂才能发挥最大潜力呢?本文将为您详细介绍辉夜姬的御魂搭配,并分析其值得养...

  • 阴阳师青行灯什么时候出的(阴阳师青行灯值得培养吗)?

    阴阳师青行灯什么时候出的(阴阳师青行灯值得培养吗)?

    阴阳师青行灯什么时候出的(阴阳师青行灯值得培养吗)?随着阴阳师这款手游的火热,各种式神层出不穷,其中SSR级别的式神更是备受玩家关注。青行灯作为SSR中的常青树,自出道以来便以其独特的技能和强大的实力,吸引了无数玩家的目光。阴阳师青行灯什么...

  • 阴阳师彼岸花什么时候出的(阴阳师彼岸花值得练吗)?

    阴阳师彼岸花什么时候出的(阴阳师彼岸花值得练吗)?

    阴阳师彼岸花什么时候出的(阴阳师彼岸花值得练吗)?彼岸花作为阴阳师中的SSR式神,首次出现在游戏中是在2016年。随后,官方推出了SP版本的彼岸花,名为“夜溟彼岸花”,并于2021年1月6日正式上线。阴阳师彼岸花值得练吗彼岸花的技能设计非常...

  • 魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?在魔兽世界中,泰兰德是魔兽世界中暗夜精灵种族的代表性角色,她以牧师职业为主。牧师在游戏中拥有强大的治疗和辅助能力,是团队中不可或缺的重要角色。泰兰德作为一名牧师,擅长使用圣光和暗影之力...

  • lol小丑的名字叫什么(lol小丑怎么分辨真假)?

    lol小丑的名字叫什么(lol小丑怎么分辨真假)?

    lol小丑的名字叫什么(lol小丑怎么分辨真假)?在lol英雄联盟中,小丑(Janna)作为一位辅助英雄,以其独特的技能和出色的辅助能力深受玩家喜爱。然而,许多玩家在游戏中可能遇到真假小丑难以辨别的问题。本文将为大家详细解析LOL小丑的名字...

  • lol老鼠叫什么(lol老鼠技能介绍)?

    lol老鼠叫什么(lol老鼠技能介绍)?

    lol老鼠叫什么(lol老鼠技能介绍)?在lol中,老鼠这位英雄正式名称为“瘟疫之源·图奇”。他以其独特的毒液技能和隐身能力,在游戏中扮演着一名出色的刺客和骚扰者。以下是关于老鼠的详细技能介绍:lol老鼠技能介绍一、被动技能——死亡毒液老鼠...

  • dnf红玉髓是干什么用的(dnf红玉髓在哪里兑换)?

    dnf红玉髓是干什么用的(dnf红玉髓在哪里兑换)?

    dnf红玉髓是干什么用的(dnf红玉髓在哪里兑换)?在dnf中,红玉髓是一种非常有用的材料,它不仅能够兑换圣物装备,还能换取各种药剂,对于玩家来说,掌握红玉髓的用途和兑换地点至关重要。dnf红玉髓是干什么用的1.兑换圣物装备:红玉髓是制作圣...

  • 闲鱼app什么时候上线的(闲鱼app官网)?

    闲鱼app什么时候上线的(闲鱼app官网)?

    闲鱼app什么时候上线的(闲鱼app官网)?闲鱼App,原名为“闲鱼二手交易”,作为阿里巴巴集团旗下的知名二手交易平台,自上线以来,受到了广大用户的喜爱。本文将揭秘闲鱼App的上线时间,带您了解闲鱼官网的起源与发展。闲鱼app上线于2015...

  • 周排行
  • 月排行
  • 年排行

精彩推荐