JSP概念

JSP全称java server page,中文含义为java服务端页面。对于jsp的理解需要和另外几个相似的概念连接起来:Html和Servlet.常规的html作为一个静态文本传输,具体显示由浏览器通过html标准负责处理,Servlet则作为客户端和服务器一个连接通信的一个基本组件(其本身也是由服务端容器定义地)。二者对于服务端而言其实就是静态响应(HTML)和动态响应的区别。

Servlet本身其实也可以通过代码手动的生成html文档返回响应,但并不简洁,也不方便我们不断的修改,Html本身也没有动态响应的功能。为了方便简化开发流程,由Sun公司倡导建立了一种动态页面的技术标准,也就是创建一种新的页面格式,制定页面处理规则,这就是JSP,JSP其本质是属于Servlet的一种扩展技术,通过制定页面格式标准,将Java代码文本化。通过在其中嵌入java代码段和一些规定的页面规定指令(通常类似于标记语言的方式通过元素来控制指令类别)。当用户发起对该jsp的请求,Servlet容器(Tomcat等)会对该jsp文件进行解析生成一个java文件(Servlet),动态相应请求。其基本的流程如下:

JSP语法

为了使JSP比较便于使用,创建者给JSP制定了一系列的使用规则,也就是JSP的语法规则。唯有遵循JSP语法规则编写的jsp文件才可被Servlet容器翻译、编译并正常运行。以下介绍基本的几类JSP语法规则,但并不能完全叙述,若希望较为完整的学习JSP,可以参考网上的一些在线教程或者电子文档,这里提供一个在线jsp学习教程:http://www.runoob.com/jsp/jsp-tutorial.html. (Jsp语法是除去html基本文档编写语法之外的jsp格式要求)

1) 指令

JSP指令是用于设置与整个页面相关的属性,基本的如页面的编码和使用的开发语言等,基本语法格式如下:



<%@ 指令名 属性=“值” %>



常见的指令类型有三种:

- page 定义页面的依赖配置属性

常见的page指令属性有language、method、import等,基本信息如下表格:

属性 格式 描述
language <%@ page language=”java” % > (jsp编程语言,当前只支持java
method <%@ page method=”doGet” %> jsp中的java程序片段所位于对应Servlet类中的方法名,支持:service、doGet、doPost
import <%@ page import=”java.io.,java.util.” %> 对应java文件中的import命令导入包或者类,该列表用\”“,\”“分离,可多次使用
content_type <%@ page content_type=”text/html;charset=UTF-8” %> 设置响应的MIME类型,默认位text/html,默认字符编码为ISO-8859-1,不支持多次使用
session <%@ page session=”true” %> 指定jsp页面是否支持Session,值为boolean值:true,false,不支持多次使用
errorPage <%@ page errorPage=”error.jsp” %> 请求异常转发地址
isErrorPage <%@ page isErrorPage=”true” %> 表示改jsp是否为异常处理页面

- include 文件导入包含

由于包含导入文件,属于静态包含(即全盘导入文件内容而非请求响应结果),基本格式如下:

 ```
<%@ inculde file="head.jsp" %> ```
  • taglib 标签库的引入

    支持自定义标签,通过引入标签库,从而可以在jsp中使用自定义的标签库实现特定动作行为,基本格式如下:



    <%@taglib uri="/WEB-INF/tlds/orataglib_1_0.tld" prefix="ora" %>

2) 声明

JSP声明运行用户通过既定规则声明对应Servlet对象的成员变量和成员方法,基本格式如下:

   <%! delarce ; [decalaration] %>        //声明格式

   //声明示例

   <%! //成员变量
String tag="jsp";
static int number=10;
%>
<%! //方法
public String getName(){
return "hfcai";
} %>

3) 程序脚本和表达式

JSP支持在文件中使用脚本的形式书写java语言来实现某些基本程序逻辑从而达到动态响应的效果。脚本代码可以插入到jsp文件的任意为止(前提是符合既定的代码格式),表达式可以将具体的数据写到相应的html的位置,其类似一个简单的赋值语句,而不同的是被复制的变量是jsp文档本身。格式如下:

   <%= [statement]%>  //jsp表达式
<% [statement]%> //jsp 程序脚本 <%
out.println("request IP address:" + request.getRemoteAddr()); //打印请求地址
%>
<input type="submit" value="<%="submit"%>" />
``` 4) JSP 注解
这里说的注解属于jsp的程序片段的注解不同于html的注解,主要作用是用于对代码进行描写和注释(程序片段内部java自身注释仍然有效),基本格式如下: ```
<%-- 注释 --%> //案例 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Jsp 注解</title>
</head>
<body>
<%-- jsp注解部分--%>
<p>
request IP address: <%= request.getRemoteAddr()%>
</p>
</body>
</html>

5) 隐含对象

即jsp文件中直接提供的默认可以直接访问的程序成员名,可以直接通过特定变量名直接访问其参数、方法,操作一如java对象。基本的隐含对象如下:

变量名 类型描述
request javax.servlet.HttpServletRequest 请求对象
response javax.servlet.HttpServletResponse 响应返回对象
pageContext javax.servlet.jsp.PageContext 提供对JSP页面所有对象以及命名空间的访问
application javax.servlet.ServletContext servlet应用上下文
out javax.servlet.jsp.JspWriter 输出流,可以直接答应字符串到界面
config javax.servlet.ServletConfig servlet的配置对象
page java.lang.Object(自身,当前对象,等同与this,当前jsp页面)
session javax.servlet.http.HttpSession
exception java.lang.Exception 异常,发生错误的JSP页面中对应的异常对象

6) JSP动作标签

jsp动作标签又称Jsp行为标签,可以动态引入文件,可以完成特定请求行为,动作元素包含标准元素和自定义元素,基本格式如下:

          <jsp:action_name attribute="value">     //标准元素

动作元素较多,常见包括:

  • inclue 动态包含
  • useBean 查找或初始化javabean对象
  • setProperty 设置javabean的属性值
  • getProperty 获取javabean属性值
  • forward 页面跳转
  • param 设置参数(可以和include配合使用)
  • attribute 标记设置动作元素属性

JSP的介绍的更多相关文章

  1. java web学习总结(二十七) -------------------JSP标签介绍

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  2. 一、JSP标签介绍,自定义标签

    一.JSP标签介绍 1. 标签库有什么作用 自定义标签库是一种优秀的表现层技术,之前介绍的MVC模式,我们使用jsp作为表现层,但是jsp语法嵌套在html页面,美工还是很难直接参与开发,并且jsp脚 ...

  3. JSP简单介绍

    前言 知识点 1.JSP是什么   java  server   page,javaserver端页面技术.其主要作用在server端动态生成页面, 其组成java代码和html, 2.JSP的组成 ...

  4. JSP技术介绍

    1. 技术介绍 JSP即Java Server Page,中文全称是Java服务器语言.它是由Sun Microsystems公司倡导.许多公司参与建立的一种动态网页技术标准,它在动态网页的建设中有强 ...

  5. java jsp基础介绍

    1         Jsp基础 1.1           Jsp介绍 JSP(全称Java Server Pages)是一种web动态网页开发技术,通过标签和指令完成用户界面开发和交互操作.它使用J ...

  6. 学习jsp篇:jsp Session介绍

    1.Session基本介绍 Session---会话,它是一个内置对象.会话打个比方说就是浏览网站:开始到结束,或者说购物从开始到结束. 2.Session机制 客户端在第一次请求服务端时,服务端会产 ...

  7. 学习jsp篇:jsp Cookie介绍

    这篇博客介绍下Cookie,JSP中比较重要的知识点Session,Cookie,表单数据,过滤器,文件上传.而Session和Cookie一般放在一起讲,在介绍cookie之前,要先介绍下Cooki ...

  8. JSP元素介绍

    1.HTML注释 <!--这个HTML注释--> 2.JSP注释 <% --这是JSP注释-- %> 3.声明 用于在页面中定义变量或方法 <% ! String use ...

  9. JSP(介绍,语法,指令)

    什么是JSP JSP全名为Java Server Pages,java服务器页面.JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在! JSP的工作原理 其实JSP在第一次被访问的时 ...

随机推荐

  1. mac 开关机

    last | grep reboot (查看开机时间记录) last | grep shutdown (查看关机时间记录)

  2. 第五章 初始jQuery

    jQuery与JavaScript: jQuery的用途: 访问和操作DOM元素: 控制页面样式: 对页面事件的处理: 方便地使用jQuery插件: 与Ajax技术的完美结合: jQuery的优势: ...

  3. 尺取法two pointers

    目的:对给定的一个序列,在序列中寻找包含全部需求的.长度最小的一段子序列.一般用来解决具有单调性的区间问题. 时间复杂度:O(n) https://blog.csdn.net/lxt_lucia/ar ...

  4. Codeforce612C

    You are given string s consists of opening and closing brackets of four kinds <>,{}, [], (). T ...

  5. 【React】282- 在 React 组件中使用 Refs 指南

    英文:Yomi Eluwande  译文:joking_zhang https://segmentfault.com/a/1190000019277029 使用 React 时,我们的默认思维方式应该 ...

  6. 2019年12月18日Linux开发手记

    安装idle3: 1.端输入apt install idle3 以安装 2.安装完成后在终端输入idle以启动 配置pip: 1.终端输入apt install python3-pip 使用pip配置 ...

  7. BottomNavigationView 的使用

    转载请注明出处:http://blog.csdn.net/wl9739/article/details/52875710 BottomNavigationView 很早之前就在 Material De ...

  8. 《Java基础知识》Java 泛型详解

    JDK 1.5 之后,Java 通过泛型解决了容器类型安全这一问题,而几乎所有人接触泛型也是通过Java的容器.那么泛型究竟是什么? 泛型的本质是参数化类型:也就是说,泛型就是将所操作的数据类型作为参 ...

  9. mysql-magic 从dump中获取MySQL的明文密码

    项目地址: https://github.com/hc0d3r/mysql-magic 安装: git clone --recurse-submodules https://github.com/hc ...

  10. arcgis api 4.x for js 聚合效果图(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类 ...