JSP的应用

来源:互联网 发布:php 如何获取头部信息 编辑:程序博客网 时间:2024/05/18 11:46
 

JSP的应用

JSP是以Java语言作为脚本语言,建立在Servlet规范提供的功能之上的动态网页技术,用来在网页上显示动态内容

pageEncoding的优先级高于contentType里面的字符编码方式

获取当前系统时间:

<%

       java.util.Date date=new java.util.Date();

       Out.println(date.toString());

%>

浏览器————>web服务器上的某一个jsp页面

Jsp页面——>servlet.java——>编译.class——>载入内存,实例化为对象,初始化——>service()//第一次调用jsp页面

浏览器<————

浏览器————>jsp页面——>调用service()方法————>浏览器

<%@include>指令元素   静态包含

<jsp:include>动作元素  动态的包含

 

JSP优点:

     1、简便性和有效性

     2、程序的独立性

     3、程序的兼容性

     4、程序的可重用性

JSP页面就是带有JSP元素的常规Web页面,它的构成由以下两部分构成

   1、静态内容:

HTML元素

2、动态内容:

JSP元素

JSP元素:

1、指令元素

2、脚本元素

3、动作元素

4、注释

指令元素:

主要用于为转换阶段提供JSP页面的相关信息,在请求期间这些信息一直保持不变

作用范围:当前的JSP页面

语法:<%@ directive{attr="value"}* %>

分类:

1、page

(1) 可以定义在JSP页面的任何位置,作用范围为整个页面,定义与页面相关的属性

(2) 角色:JSP页面和容器的通信员

(3)语法:<%@ page 属性名1="值1" 属性名2="值2" ... %>

(4) 注意:可以使用多个page指令,但对于每个页只能声明给定属性一次,除了import属性外。属性名称是大小写敏感的

(5)属性

language=“scriptingLangeuage”:指定当前的JSP文件中的程序代码是使用何种编程语言编写的,目前属性的值只能是java。

contentType=“ctinfo”:设置当前JSP页面的向客户浏览器输出内容的MIME类型和字符编码集。客户端的浏览器会根据你在contentType中指定的MIME类型和字符集代码来显示Servlet输出的内容。

pageEncoding =“peingo”:设置当前JSP页面使用的字符编码。如果设置了这个属性,则JSP页面的字符编码就是它指定的字符集,如果没有就使用contentType属性的值,如果都没有,页面默认的是ISO-8859-1。

session=”true|false”:指示当前JSP文件中session隐含对象是否有效,如果为true表示session对象有效,可以使用,否则session对象无效,不能使用

buffer=“none|8kb|sizekb”:指定JSP文件中out对象使用的缓冲区大小。

autoFlush=“true|false”:设置当输出缓冲区已经满了是否自动flush。需注意,如果buffer设定为none,则该属性就不能设成false,否则JSP文件运行时会抛出异常。

errorPage=“relativeURL”:设置当前JSP页面中代码出现异常后,专门处理异常的页面。

isErrorPage=“true|false”:设置当前JSP页面是否为专门处理异常的页面,如果为true,则该页面可以通过exception内置对象,处理其他JSP页面转过来的异常。

2、include

(1)include指令用于在JSP页面中包含一个文件,该文件可以是HTML网页、文本文件或一段Java代码,用它可以简化页面代码,提高代码的重用性。

(2)语法:<%@ include file="相对于当前文件的url" %>

(3)url为被包含文件的相对路径,如果以“/”开始,相对于这个应该的根目录,如果没有以“/”开头,则相对当前的JSP页面。

3、taglib

taglib指令允许页面使用用户定制的标签,语法如下:

<%@taglib (uri="具有唯一标识和前缀相关的标签描述符地址" prefix="前缀")%>

脚本元素:

使用JSP脚本元素可以将Java代码嵌入到JSP页面中,这些Java代码将出现在由当前JSP页面生成的Servlet中,使JSP将静态内容与动态内容分离出来。

分类: 

(1)表达式:

–        表达式标签在JSP请求处理阶段进行运算,所得的结果转换成字符串,与静态标签数据组合在一起。表达式在页面的位置,就是该表达式计算结果显示的位置。

–        语法:<%= expression %>

例如,<%=9+9 %>

       注意:

•         不能用分号;来作为表达式的结束符;

•         表达式必须是一个合法的Java表达式。

•         表达式必须有一个返回值,且返回值被转换成字符串

(2)脚本

                     脚本程序段

<%

           int i=4;

           int j=2;

           if(i<j){

           out.println("i&lt;j");

//如果写为i<j,则只输出i,因为<会被当做标签的开始,所以只能使用转义字符

           }else{

              out.println("i&gtj");

           }

%>

<%脚本代码块可能是不完整的%>   在整个jsp文件中脚本代码是完整的就行

<%

           int i=4;

           int j=2;

           if(i<j){

        %>

            i&lt;j

<%

           }else{

%>

            i&gt;j

<%

        }

%>

 

–        脚本是在<% %>里嵌入的Java代码,这里的Java代码和一般的Java代码没有什么区别,所以每一条语句同样要以分号“;”结束,这和表达式是不相同的。

–        语法:<% code %>

(3)声明

              声明代码块

<%! int var;

           public void fun(){

               var=10;   

           }

           static{

               System.out.println("初始化");

           }

           public void jspInit(){

              System.out.println("init方法");

           }

           public void jspDestroy(){

               System.out.println("destory方法");

           }

 %>

 

–        声明用来定义当前JSP页面中使用的变量和方法。

–        该标签中定义的变量为JSP页面全局变量,JSP转化成Servlet后,定义的变量转化为类变量,方法转化为Servlet中的方法

–        语法:<%! code %>

注意:变量的声明必须以;结尾,该声明仅在一个页面中有效,如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@include%>或<jsp:include>元素包含进来。

原创粉丝点击