JSP - (Java Server Pages) - Java服务器界面
JSP简介:
在HTML中嵌入Java脚本代码,由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码,然后将生成的整个页面信息返回给客户端;
一个JSP页面包含:静态内容(HTML静态文本),JSP指令,JSP脚本元素和内置对象,JSP动作,用户自定义标签
脚本程序:脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
语法格式:
<% Java代码 %>
与其等价的XML语句:
<jsp:scriptlet>
// Java代码...
<jsp:scrilptlet>
JSP声明:一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。JSP中变量和方法必须声明后才能使用
声明语法格式:在页面中定义Java代码
<%! // Java代码... %>
与其等价的XML语句:
<jsp:declaration>
// Java代码...
</jsp:declaration>
JSP表达式:表达式元素中可以包含任何符合Java语言规范的表达式
一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
语法格式:对数据的显示,系统将其作为一个值进行计算和显示
<%= Java表达式/变量 %>
与其等价的XML语句:
<jsp:expression>
// Java表达式/变量
</jsp:expression>
● HTML的注释:<!-- 这是注释,但客户端可以查看到 --> ● JSP注释:<%-- 这也是注释,客户端无法查看到 --%> ● 在JSP脚本中的注释:<% //单行注释 %> <% /*多行注释/* %>
JSP指令:用来设置与整个JSP页面相关的属性
语法格式:<%@ directive attribute="value" %>
| 指令 | 描述 |
| <%@ page ...%> | 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等 |
| <%@ include ...%> | 包含其他文件 |
| <%@ taglib ...%> | 引入标签库的定义,可以是自定义标签 |
中文编码问题:
如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
路径跳转问题:在jsp里面经常会有跳转,就涉及到绝对路径和相对路径问题。
绝对路径一般表示:一般都使用绝对路径
- "./" 表示的是当前目录
- "../" 表示上一级目录,"../../" 表示的是上级目录的上级目录
- 客户端绝对路径:http://主机名:端口号/
- 服务器端绝对路径:http://主机名:端口号/项目名
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支持九个自动定义的变量,称之为隐含(内置)对象
| 对象 | 描述 | 作用 |
| request | HttpServletRequest类的实例 | 封装了来自客户端、浏览器的各种信息 |
| response | HttpServletResponse类的实例 | 封装了服务器的相应信息 |
| out | PrintWriter类的实例 | 用于向客户端、浏览器输出数据 |
| session | HttpSession类的实例 | 用来保存会话信息。即可以实现在同一个用户的不同请求之间共享数据 |
| application | ServletContext类的实例 | 代表了当前应用程序的上下文。可以在不同的用户之间共享信息 |
| config | ServletConfig类的实例 | 封装类应用程序的配置信息 |
| pageContext | PageContext类的实例 | 提供了对JSP页面所有对象以及命名空间的访问 |
| page | 类似于Java类中的this关键字 | 指向了当前JSP程序本身 |
| exception | Exception类的实例 | 封装了JSP程序执行过程中发生的异常和信息错误 |
控制流程语句:
JSP提供对Java语言的全面支持。可以在JSP程序中使用Java API甚至建立Java代码块,包括判断和循环语句等。
判断语句: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;
}
%>
<%for ( 语法表达式 ){ %>
code...
<%}%>
<%while ( 语法表达式 ){ %>
code...
<%循环控制语句%>
<%}%>
JSP - (Java Server Pages) - Java服务器界面的更多相关文章
- 1.1(学习笔记)JSP(Java Server Pages)基础(脚本元素、指令元素)
一.JSP简介 JSP全称为Java Server Pages,是一种动态网页开发技术,可以在HTML界面中嵌入java代码, 实现动态的提供数据.访问JSP时服务器会将JSP翻译成Servlet,访 ...
- jsp(java server pages):java服务器端的页面
jsp(java server pages):java服务器端的页面 JSP的执行过程1.浏览器输入一个jsp页面2.tomcat会接受*.jsp请求,将该请求发送到org.apache.jasper ...
- 什么是Java Server Pages?
JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. JSP是一种Java servlet ...
- Jsp (Java Server Pages)相关知识九大内置对象和四大作用域
一.初识JSP Jsp页面的组成:静态内容.指令.表达式.小脚本.声明.标准动作.注释等元素构成 Url:统一资源定位符 Url组成:协议.主机名(包括端口号).路径 1.注释的方式: 1.HTML注 ...
- JSP(Java Server Pages,即:Java服务器页面
是一种跨平台的动态网页技术标准,由Sun Microsystems公司倡导.多家公司参与建立. 它在HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(* ...
- 1.3(学习笔记)JSP(Java Server Pages)内置对象
一.内置对象 内置对象又称内建对象.隐式对象,是由服务器自动创建实例化的, 用户在使用时不需要显示的创建,可直接使用. jsp内置对象名称,类型及作用域 Scope代表该内置对象的作用范围,page表 ...
- JSP(java server pages)安装开发和执行环境
JSP是一种动态网页技术标准. 它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag)的.jsp文件: java程序段:操纵数据库,重新定向网页,发送email等 ...
- 什么是jsp(java server pages)
JSP是一种运行在服务器端的脚本语言,是用来开发动态网页的技术,它是JAVA Web 程序开发的重要技术.本章介绍JSP技术的相关概念以及如何开发JSP程序,主要内容包括JSP技术简介.JSP的处理过 ...
- JSP(Java Server Pages)内置对象
request对象 (1)访问请求参数 处理HTTP请求中的各项参数.在这些参数中,最常用的就是获取访问请求参数.当通过超链接的形式发送请求时,可以为该请求传递参数,这可以通过在超链接的后面加上问好& ...
随机推荐
- PAT甲级——A1115 Counting Nodes in a BST【30】
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
- Python编码decode和encode
常见编码介绍: GB2312编码:适用于汉字处理.汉字通信等系统之间的信息交换;GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码ASCII编码:是对 ...
- C# SQL 多条件查询技巧
#region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneN ...
- java_缓冲流(字符输出输入流)
/** java.io.BufferedReader extends Reader * * 构造方法: * BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符 ...
- java_List接口
/** * java.util.list接口 extends Collection接口 * 1.有序的集合 * 2.有索引 * 3.元素可以重复 * * List中带索引的方法: *add:添加 * ...
- 【学术篇】luogu2184贪婪大陆
题目在这里哦, 戳一下就可以了~ 题目大意: 支持两种操作,区间添加一种新元素,查询区间颜色种数.. 题目标签是线段树啊,我也本来想写一个线段树,后来写不出来……(我太弱了orz) 然后就草率地看了看 ...
- redis笔记_源码_内存分配
文件:zmoalloc.h zmoalloc.c 1.求两个整数的余数 eg: 求_n对sizeof(long)的余数(_n&(sizeof(long)-1)), 性能提升为50%-100% ...
- day3-编码、文件、集合、函数、递归
学习内容: 1. 文件编码 2. 文件 3. 集合 4.函数 5.递归 6.匿名函数 1. 文件编码: 常见的字符串编码有:ASCII 扩展的ASCII Unicode GBK GB2312 GB18 ...
- thinkphp 模板赋值
如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值. 大理石平台检定规程 $this->assign( ...
- SCOI2015
这周各种头疼,一直睡觉+发呆,啥子都没干. 就补一下之前的东西. d1t1小凸玩矩阵 传送门 一开始脑子抽写了最小费用最大流,不知道自己怎么想的. 第k大最小,明显的二分,又是二分图,二分第k大值,把 ...