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>
JSP注释:为代码作注释以及将某段代码注释掉。
● 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,while,do...while
<%for ( 语法表达式 ){ %>
code...
<%}%> <%while ( 语法表达式 ){ %>
code...
<%循环控制语句%>
<%}%>

JSP - (Java Server Pages) - Java服务器界面的更多相关文章

  1. 1.1(学习笔记)JSP(Java Server Pages)基础(脚本元素、指令元素)

    一.JSP简介 JSP全称为Java Server Pages,是一种动态网页开发技术,可以在HTML界面中嵌入java代码, 实现动态的提供数据.访问JSP时服务器会将JSP翻译成Servlet,访 ...

  2. jsp(java server pages):java服务器端的页面

    jsp(java server pages):java服务器端的页面 JSP的执行过程1.浏览器输入一个jsp页面2.tomcat会接受*.jsp请求,将该请求发送到org.apache.jasper ...

  3. 什么是Java Server Pages?

    JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. JSP是一种Java servlet ...

  4. Jsp (Java Server Pages)相关知识九大内置对象和四大作用域

    一.初识JSP Jsp页面的组成:静态内容.指令.表达式.小脚本.声明.标准动作.注释等元素构成 Url:统一资源定位符 Url组成:协议.主机名(包括端口号).路径 1.注释的方式: 1.HTML注 ...

  5. JSP(Java Server Pages,即:Java服务器页面

    是一种跨平台的动态网页技术标准,由Sun Microsystems公司倡导.多家公司参与建立. 它在HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(* ...

  6. 1.3(学习笔记)JSP(Java Server Pages)内置对象

    一.内置对象 内置对象又称内建对象.隐式对象,是由服务器自动创建实例化的, 用户在使用时不需要显示的创建,可直接使用. jsp内置对象名称,类型及作用域 Scope代表该内置对象的作用范围,page表 ...

  7. JSP(java server pages)安装开发和执行环境

    JSP是一种动态网页技术标准. 它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag)的.jsp文件: java程序段:操纵数据库,重新定向网页,发送email等 ...

  8. 什么是jsp(java server pages)

    JSP是一种运行在服务器端的脚本语言,是用来开发动态网页的技术,它是JAVA Web 程序开发的重要技术.本章介绍JSP技术的相关概念以及如何开发JSP程序,主要内容包括JSP技术简介.JSP的处理过 ...

  9. JSP(Java Server Pages)内置对象

    request对象 (1)访问请求参数 处理HTTP请求中的各项参数.在这些参数中,最常用的就是获取访问请求参数.当通过超链接的形式发送请求时,可以为该请求传递参数,这可以通过在超链接的后面加上问好& ...

随机推荐

  1. System.Web.Mvc.HttpOptionsAttribute.cs

    ylbtech-System.Web.Mvc.HttpOptionsAttribute.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutra ...

  2. Object 和Throwable

    Object java.lang.Object 所有类的超类 Object里面有的方法所有的类都有 Object方法: String toString() 返回对象的字符串表现形式  类名 + @ + ...

  3. ASP.NET WEB API 特性路由

    一.什么是特性路由? 特性路由是指将RouteAttribute或自定义继承自RouteAttribute的特性类标记在控制器或ACTION上,同时指定路由Url字符串,从而实现路由映射,相比之前的通 ...

  4. Apache Flink 进阶(一):Runtime 核心机制剖析

    1. 综述 本文主要介绍 Flink Runtime 的作业执行的核心机制.首先介绍 Flink Runtime 的整体架构以及 Job 的基本执行流程,然后介绍在这个过程,Flink 是怎么进行资源 ...

  5. 新一代云WAF:防御能力智能化,用户享有规则“自主权”

    近日,在国际权威分析机构Frost & Sullivan发布的<2017年亚太区Web应用防火墙市场报告>中,阿里云以市场占有率45.8%的绝对优势连续两年领跑大中华区云WAF市场 ...

  6. token方法可用于临时关闭令牌验证,

    token方法可用于临时关闭令牌验证,例如: $model->token(false)->create(); 即可在提交表单的时候临时关闭令牌验证(即使开启了TOKEN_ON参数). 大理 ...

  7. 「题解」NOIP模拟测试题解乱写I(29-31)

    NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高 ...

  8. centos7 搭建 php7 + nginx (1)

    前言 曾今,写过几篇类似的文章,但是发现几个月后,自己回头再看的时候,有种支离破碎的感觉.自己写的并不全,所以今天打算写一篇比较详细的文档.争取下次环境的减的时候,只需要拷贝复制粘贴即可完成环境搭建. ...

  9. 深入浅出 Java Concurrency (24): 并发容器 part 9 双向队列集合 Deque[转]

    有一段时间没有更新了.接着上节继续吧. Queue除了前面介绍的实现外,还有一种双向的Queue实现Deque.这种队列允许在队列头和尾部进行入队出队操作,因此在功能上比Queue显然要更复杂.下图描 ...

  10. C++之memset函数

    可参考: C++中memset函数的用法 C++中memset函数的用法 C++中memset()函数的用法详解 c/c++学习系列之memset()函数 透彻分析C/C++中memset函数 mem ...