专业编程基础技术教程

网站首页 > 基础教程 正文

关于JSP技术的介绍和相关示例(关于jsp的问题)

ccvgpt 2024-07-17 17:53:07 基础教程 5 ℃

JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

关于JSP技术的介绍和相关示例(关于jsp的问题)

有三个基本的脚本元素,作用是使JAVA代码可以直接插入servlet.

JSP脚本:

一种是声明标签,在JAVA SERVLET的类体中放入一个变量的定义。静态的数据成员也可以如此定义。

<%! int serverInstanceVariable = 1; %> (因为会被编译成成员变量,考虑到线程安全问题,一般不常用)

一种是脚本标签,在JAVA SERVLET的类的_jspService()方法中放入所包含的语句。

<% int localStackBasedVariable = 1; out.println(localStackBasedVariable); %> (会被编译到service方法内部,out.print() )

一种是表达式标签,在JAVA SERVLET的类中放入待赋值的表达式,表达式注意不能以分号结尾。

<%= "expanded inline data " + 1 %> (输出到页面将内容)

示例:

JSP注释:

对比jsp,html源码。查看注释效果:

只有html注释显示出来,jsp注释则只在jsp源码中显示,所以为了安全开发过程中尽量使用jsp注释

jsp指令:

1.page页面指令

怕个指令一般不需要更改,默认的配置足够使用。

2.include指令(包含一个页面,比较常用)

3.taglib指令

uri中a,b代表标签库地址,prefix代表前缀(区分作用)

jsp隐式对象概述

当jsp被翻译成servlet的时候,services内部有9个对象定义并被初始化,这9个对象称为隐式对象。JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。

上图有8个隐式对象被初始化,还有一个exception,只有在错误页面时候才初始化。page指令中可以设置错误页面:

关于out对象的介绍:

观察数字出现的顺序:

可见并不是按照数字顺序出现的,这是因为为了防止大量数据同时涌入浏览器,设置了缓冲区,服务器-----out缓冲区---response缓冲区-----客户端浏览器

当我们调节out缓冲区大小为0的时候,就会导致没有缓冲区,页面就会按照顺序输出。如下:

pageContext对象

pageContext是一个域对象,可以从其他作用域中获取对象,获取顺序从小到大,page---request---session---application

示例1:

示例2:直接通过findAttribute方法获取值

我们注释page作用域 再次通过此方法获取值:

Tags:

最近发表
标签列表