jsp用在什么地方,JSP是什么

首页 > 教育 > 作者:YD1662024-06-07 22:56:32

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

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

jsp用在什么地方,JSP是什么(5)

在JSP中JSP指令(后面会讲):                <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

这句代码在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、使用<%=xxx %>来输出结果            

jsp用在什么地方,JSP是什么(6)

          使用<%=result %>来输出结果,servlet中就会将其转换为out.print(result)进行输出。输出各种类型数据:int、double、boolean、String、Object等

jsp用在什么地方,JSP是什么(7)

       3、JSP注释

          <%-- --%>  :jsp注释,

          //  :java单行注释

          /* */  :Java多行注释

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

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

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

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

          这个就不演示了,就是在JSP中编写方法或者属性时,使用<%! %>括起来。

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

三、JSP指令

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

JSP指令格式:<%@ directive {attribute=value}* %>

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

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

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

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

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  page指令,后面跟着三个属性,分别是language、contentType、pageEncoding。这只是其中的几个属性,并没有写全,page指令允许的属性如下表所示

属性名称        取值范围          描述

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

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

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

如<%@ page import="java.util.List,java.util.ArrayList"%>

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

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

buffer        none或者数字KB   指定缓存大小,当autoFlush设为true时有效,例如<%@ page buffer=10kb%>

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 file="relativeURL"%>  relativeURL:本应用程序内另一个JSP文件或者HTML文件的路径,例如,网址内所有页面均有一个统一风格的导航栏和页脚版权,那么就可以使用该指令将其包含进来,  

特点:include指令会将包含页面的源代码添加到使用include指令的页面中来,然后编译成class文件,而等下会讲到的一个JSP行为,<jsp:include page="relativeURL">作用跟include指令一样,但是不同的是,include行为是运行时单独执行包含页面,然后把执行的结果包含到本页面来,属于先运行后包含。

taglib指令 JSP支持标签技术,后面会讲到标签的用法,jstl标签库的使用等,作用:用来指明JSP页面内使用的JSP标签库,taglib指令有两个属性,uri为类库的地址,prefix为标签的前缀<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

四、JSP行为

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

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

      格式:<jsp:elements {attribute="value"}* />  

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

          elements:行为的名称,

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

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

    <jsp:include />行为

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

jsp用在什么地方,JSP是什么(8)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.