目录

1.JSP简介

JSP技术是基于Java Servlet和整个Java体系的Web服务器端开发技术

JSP是Java Server Pages的缩写,表示它是用Java写的Web服务页面程序

JSP网页是在传统的HTML文件中加入JSP标记或Java程序片段构成,JSP页面文件以“jsp”为扩展名进行保存。

当一个JSP页面第一次被访问时,JSP引擎将执行以下步骤:

(1)将JSP页面翻译成一个Servlet,这个Servelet是一个Java文件,同时也是一个完整的Java程序

(2)JSP引擎调用Java编译器对这个Servlet进行编译,得到字节码文件class

(3)JSP引擎调用Java虚拟机来解释执行class,主要调用_jspService()方法

JSP页面由两部分组成:

①JSP页面的静态部分,如HTML,CSS标记等,常用来完成数据显示和样式

②JSP页面的动态部分,如脚本程序,JSP标记等等,常用来对数据进行处理

2.小例子

在页面上实时显示系统时间

代码

<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" import="java.util.*,java.text.SimpleDateFormat"%><html><head><title></title></head><body><%SimpleDateFormat f=new SimpleDateFormat("现在是yyyy年MM月dd日 E a hh点mm分ss秒");%>实时显示系统时间 <br><%--每隔1秒刷新一次页面,以便显示实时时间 --%><%response.setHeader("Refresh", "1");Date now = new Date();out.println("当前时间是:"+now+"<br>");out.println(f.format(now));%></body>
</html>

效果 

3.基础语法

3.1 JSP注释

①HTML注释 <!--注释-->

该注释是发给客户端的,查看网页源文件就能看到,但不会再屏幕上显示

JSP注释 <%--注释--%>

JSP注释不会发给浏览器,在客户端完全不可见

3.2 JSP声明

JSP声明用于声明变量和方法 <%!Java变量或方法;%>

这样定义变量或方法的作用域属于网页层,在JSP整个网页中都能使用

声明的变量只初始化一次,且在所有运行这个JSP程序代码的线程中共享该全局变量

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html><head> <title>JSP测试</title></head><body><%! int count=0; %>count=<%= count++%></body>
</html>

每次刷新的时候,count就会加1

3.3 JSP表达式

<%=Java表达式%>

表达式的值在运行后自动转化为字符串,然后插入到这个表达式在JSP文件的位置

不能用分号“;”来作为表达式的结束符

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html><head> <title>sum测试</title></head><body><%! int i=0;public int sum(int a,int b){return a+b;}%>sum=<%=sum(12,2)%></body>
</html>

3.4 JSP程序段

JSP程序段实际上就是嵌入在页面中的Java代码

<%Java代码段%>

在JSP程序段中定义的变量,为servlet类中的_jspService()方法里的局部变量

每次有新的请求线程产生的时候,它都会重新创建和初始化

由于JSP代码将转换成_jspService()方法里的可执行代码,而Java语法不允许在方法里定义方法

所以,JSP代码段里也不能定义方法

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html><head> <title>JSP测试</title></head><body><table bgcolor="ddffdd" border="1" width="300px"><% for(int i=0; i<5; ++i) { %><tr><td>循环值:</td><td><%=i%></td></tr><% } %></table></body>
</html>

3.5 JSP page指令

<%@ page 属性=“属性值”%>

涉及页面总体的设计,由JSP容器负责解释,作用范围为整个页面。

JSP简介和基础语法相关推荐

  1. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  2. C#基础编程——简介及基础语法

    C#基础编程--简介及基础语法 百科介绍 C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言.运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计 ...

  3. Java学习之路-----Java基础简介,基础语法,Java标识符,修饰符,关键字与注释

    这里写目录标题 Java简介 Java发展历程 Java语言平台版本 Java语言的特点 Java语言跨平台原理--JVM JRE和JDK JDK安装路径下的目录解释 Java基础语法 Java标识符 ...

  4. Scala笔记(一)基本简介与基础语法

    文章目录 一.Scala 简介 1.1 什么是 Scala 1.2 为什么使用 Scala 二.Scala 环境搭建 2.1 程序编译执行流程 2.2 安装 Scala SDK 2.3 安装 IDEA ...

  5. Python基础之py简介和基础语法

    一.Python简介 百度百科对Python的解释是:"Python是一种计算机程序设计语言,由吉多·范罗苏姆创造,第一版发布于1991年,可以视之为一种改良的LISP.Python的设计哲 ...

  6. 廖雪峰的Python教程学习笔记一Python简介和基础语法

    一.Python简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个面向对象的高级编程语言.与其它面向对象语言 ...

  7. JSP/Servlet基础语法

    相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...

  8. JSP、EL和JSTL-学习笔记01【JSP基础语法】

    Java后端 学习路线 笔记汇总表[黑马程序员] JSP.EL和JSTL-学习笔记01[JSP基础语法] JSP.EL和JSTL-学习笔记02[MVC] JSP.EL和JSTL-学习笔记03[EL介绍 ...

  9. jsp java语法_JSP基础语法

    Java JSP 的 JSP基础语法 在本章中,我们将了解和学习JSP语法.并了解JSP开发涉及的简单语法(即元素)的基本用法. 为了方便演示,使用Eclipse创建一个动态Web项目:jspsynt ...

最新文章

  1. 微型计算机中PRON是,英语词性英语中的pron指的是什么词性?? – 手机爱问
  2. hadoop 1.2.1 安装步骤 伪分布式
  3. Arduino/Microduino与OneNet平台及web服务器端的交互
  4. c语言变量ppt,C语言程序设计-变量.ppt
  5. 比特币将来能取代黄金,成为世界货币?
  6. 创建型、结构型、行为型模式(2)
  7. 人物 | 当我们在谈论语音识别时,我们在谈些什么?——知乎达人、CMU博士生王赟...
  8. 大话IT职场之-办公室政治
  9. Ajax基础(五)--封装库
  10. Mac_苹果电脑设置眼睛保护色
  11. Vasp 石墨烯能带计算
  12. 电子商务平台如何给商户结算?
  13. xp系统打开internet服务器,xp系统浏览器无法打开internet选项的解决方案
  14. pands 画图 调整大小_图片处理小技巧(调整大小、批量命名),超级实用
  15. 浏览器推荐-以Windows操作系统为例
  16. princomp.m
  17. linux pwm控制蜂鸣器 滴滴_第七章----pwm蜂鸣器
  18. Leetcode883 三维形体投影面积 高效解法
  19. 国内专业web报表工具,完美解决中国式报表难题
  20. LLDB(四):Chisel 的安装与使用

热门文章

  1. 怎么将电脑桌面上dwg格式图纸进行打开查看?
  2. 创客匠人:知识付费怎么做裂变增长?
  3. 计算机网络如何划分地址块,cidr地址块划分 cidr地址划分方法
  4. 【Android App】人脸识别中使用Opencv比较两张人脸相似程度实战(附源码和演示 超详细)
  5. (4)按键精灵常用语法-引流脚本混合式开发技术系列教程By飞云脚本学院
  6. linux icon 字符转换工具,linux ICONV字符GB2312转换UTF8
  7. 计算机科学与技术专业领域代码,专业领域代码和名称.doc
  8. 永恒的不可能三角——投资、经济、分布式系统中的临界知识
  9. Linux进阶篇--网络管理
  10. 从《乱世王者》看腾讯 SLG 手游如何搭建完整安全服务