JSP - (Java Server Pages) - Java服务器界面

java

一、JSP简介

在HTML中嵌入Java脚本代码,由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码,然后将生成的整个页面信息返回给客户端;

一个JSP页面包含:静态内容(HTML静态文本),JSP指令,JSP脚本元素和内置对象,JSP动作,用户自定义标签

1)脚本程序

脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。

语法格式:

<% Java代码 %>

与其等价的XML语句:

<jsp:scriptlet>

// Java代码...

<jsp:scrilptlet>

2)JSP声明

一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。JSP中变量和方法必须声明后才能使用

声明语法格式:在页面中定义Java代码

<%! // Java代码... %>

与其等价的XML语句:

<jsp:declaration>

// Java代码...

</jsp:declaration>

3)JSP表达式

表达式元素中可以包含任何符合Java语言规范的表达式

一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。

语法格式:对数据的显示,系统将其作为一个值进行计算和显示

<%= Java表达式/变量 %>

与其等价的XML语句:

<jsp:expression>

// Java表达式/变量

</jsp:expression>

4)JSP注释

为代码作注释以及将某段代码注释掉。

● HTML的注释:<!--    这是注释,但客户端可以查看到 -->

● JSP注释:<%-- 这也是注释,客户端无法查看到 --%>

● 在JSP脚本中的注释:<% //单行注释 %> <% /*多行注释/* %>

5)JSP指令

用来设置与整个JSP页面相关的属性

语法格式:<%@ directive attribute="value" %>

指令描述
<%@ page ...%>
定义页面的依赖属性,比如脚本语言、error页面、缓存需求等
<%@ include ...%>
包含其他文件
<%@ taglib ...%>
引入标签库的定义,可以是自定义标签

6)中文编码问题

如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

7)路径跳转问题

在 jsp 里面经常会有跳转,就涉及到绝对路径和相对路径问题。

绝对路径一般表示:一般都使用绝对路径

  • "./" 表示的是当前目录
  • "../" 表示上一级目录,"../../" 表示的是上级目录的上级目录
  • 客户端绝对路径:http://主机名:端口号/
  • 服务器端绝对路径:http://主机名:端口号/项目名

8)JSP行为

JSP行为标签使用XML语法结构来控制servlet引擎

它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。

语法格式:它严格遵守XML标准

<jsp:action_name attribute="value" />

语法描述
jsp:include用于在当前页面中包含静态或动态资源
jsp:useBean寻找和初始化一个JavaBean组件
jsp:setProperty设置 JavaBean组件的值
jsp:getProperty将 JavaBean组件的值插入到 output中
jsp:forward从一个JSP文件向另一个文件传递一个包含用户请求的request对象
jsp:plugin用于在生成的HTML页面中包含Applet和JavaBean对象
jsp:element动态创建一个XML元素
jsp:attribute定义动态创建的XML元素的属性
jsp:body定义动态创建的XML元素的主体
jsp:text用于封装模板数据

二、JSP隐含(内置)对象

JSP支持九个自动定义的变量,称之为隐含(内置)对象

对象描述作用
requestHttpServletRequest类的实例封装了来自客户端、浏览器的各种信息
responseHttpServletResponse类的实例封装了服务器的相应信息
outPrintWriter类的实例用于向客户端、浏览器输出数据
sessionHttpSession类的实例用来保存会话信息。即可以实现在同一个用户的不同请求之间共享数据
applicationServletContext类的实例代表了当前应用程序的上下文。可以在不同的用户之间共享信息
configServletConfig类的实例封装类应用程序的配置信息
pageContextPageContext类的实例提供了对JSP页面所有对象以及命名空间的访问
page类似于Java类中的this关键字指向了当前JSP程序本身
exceptionException类的实例封装了JSP程序执行过程中发生的异常和信息错误

三、控制流程语句

JSP提供对Java语言的全面支持。可以在JSP程序中使用Java API甚至建立Java代码块,包括判断和循环语句等。

1)判断语句:if...else ,switch...case

<% if (day == 1 | day == 7) { %>

<p>今天是周末</p>

<% } else { %>

<p>今天不是周末</p>

<% } %>

<%

switch(x) {

case 1: code... break;

case 2: code... break;

case 3: code... break;

default: code;

}

%>

2)循环语句:for,while,do...while

<%for ( 语法表达式 ){ %>

code...

<%}%>

<%while ( 语法表达式 ){ %>

code...

<%循环控制语句%>

<%}%>

以上是 JSP - (Java Server Pages) - Java服务器界面 的全部内容, 来源链接: utcz.com/z/389953.html

回到顶部