1、JSP 注释

2、JSP 声明

3、JSP 表达式

4、JSP 脚本

JSP 注释:

注释格式:

<%-- 注释内容 --%>

需要注意的是,JSP 的注释不会输出到 HTML 中。

JSP 声明:

JSP 声明用于声明变量和方法。在 JSP 声明中声明方法看起来很特别,似乎不需要定义类就可以直接定义方法,方法似乎可以脱离类独立存在。

实际上,JSP 声明将会被转换成对应的 Servlet 的成员变量或方法。

声明语法:(使用 "<%! ... %>" 这种格式,第一个百分号后面多了个 "!")

<%!
// 声明一个整型变量
public int count;
// 声明一个方法
public String info() {
return "浏览次数: " + count;
}
%>

  

JSP 表达式:

// 输出表达式后面不能有分号
<%=表达式%>
<%=count++%>
<%=info()%> 

打开多个浏览器, 我们会发现count变量的值是连续的, 这是因为:JSP 页面会编译成一个 Servlet 实例,
每个 Servlet 在容器中只有一个实例;在 JSP 中声明的变量是成员变量,成员变量只在创建实例时初始化,
该变量的值将一直保存,直到实例销毁。

JSP 脚本:

通常来说,所有可执行性 java 代码都可以通过 JSP 脚本嵌入 HTML 页面。

如,输出一个列表

<ul>
<%
for (int i = 0; i < 3; i++) {
%>
<li><%=i%></li>
<%
}
%>
</ul>

  

我们可以查看编译后的 java 代码:

 for (int i = 0; i < 3; i++) {

      out.write("\n");
out.write(" <li>");
out.print(i);
out.write("</li>\n");
out.write(" "); }

上面的代码片段位于 Servlet 的 _jspService 方法中。

也就是说,我们在 JSP 脚本标签中写的任何 java 代码都会原样出现在 Servlet 的_jspService 方法中。

同时,由于在 JSP 脚本语法(<% ... %>) 标签内的 java 代码将会出现在方法内,也就意味着我们不能使用 public 等关键字了,如果我要要声明,请使用声明语法。

由于 JSP 脚本可以放置任何可执行性语句,所以可以充分利用 Java 语言的功能,例如连接数据库等。

可在 http://jsp.baiguiren.com:8080/jsp/jsp-syntax.jsp 查看最终效果

jsp 的 4 种基本语法的更多相关文章

  1. jsp笔记1(基本原理与语法)

    web.xml文件配置管理的范围: 1.配置jsp 2.配置和管理Servlet 3.配置和管理Listener 4.配置和管理Filter 5.配置标签库 6.配置jsp属性 7.配置和管理JAAS ...

  2. JSP学习(2)---四种基本语法与三种编译指令

    JSP的异常可以不处理,即使是checked异常. 四种基本语法: jsp声明,jsp注释,jsp表达式,jsp脚本 三种编译指令: page,include,taglib 下面是具体的练习. sho ...

  3. jsp中两种include的区别【转】

    引用文章:http://www.ibm.com/developerworks/cn/java/j-jsp04293/ http://www.cnblogs.com/lazycoding/archive ...

  4. jsp基础知识(基本的语法及原理)

    jsp 语法分为三种不同的类型: (1) 编译器指令: 类如: <%@ page import="java.io.*"%> (2) 脚本语法: 指定的是java代码: ...

  5. JSP开发中的基础语法

    JSP 语法 JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代码片段 %> 或者 ...

  6. <关于JSP技术>运行机制及语法概述(附对本次同济校内ACM选拔赛决赛的吐槽)

    (一)JSP运行的机制 JSP是一种建立在Servlet规范功能之上的动态网页技术,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过和ASP不同的是JSP文件中嵌入的是Java代码和JS ...

  7. 将html页改成jsp的两种方式

    将html页改成jsp的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-08-13 将html页改成jsp有两种方法,第一种是直接修改html文件,另一种是新建jsp文件.下面为大 ...

  8. jsp中四种传递参数的方法

    jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...

  9. [转]Markdown 11种基本语法

    Markdown 11种基本语法 现在是我在学习Markdown时做的笔记.学完这些Markdown的基本使用已经不成问题. 1. 标题设置(让字体变大,和word的标题意思一样) 在Markdown ...

随机推荐

  1. dp算法之硬币找零问题

    题目:硬币找零 题目介绍:现在有面值1.3.5元三种硬币无限个,问组成n元的硬币的最小数目? 分析:现在假设n=10,画出状态分布图: 硬币编号 硬币面值p 1 1 2 3 3 5 编号i/n总数j ...

  2. [T-ARA][HUE]

    歌词来源:http://music.163.com/#/song?id=22704406 wa du seu mo geum to yo do ga tae 어딜가도 스페셜한게 없어 [eo-dil ...

  3. Wacom发布Cintiq Companion 2

    全新的Cintiq Companion 2是一款强大的平板电脑,让创意专业人士获得最佳的屏幕笔触,让创意随时随地进行.用户还可以在家中或工作时连接到Mac或PC电脑获得无与伦比的灵活性! 2015年1 ...

  4. UI优秀框架(库)

    1.vux 官网:https://doc.vux.li/zh-CN/ Github:https://github.com/airyland/vux 13818  Stars  3064 Forks   ...

  5. Python:迭代器的简单理解

    一.什么是迭代器 迭代,顾名思义就是重复做一些事很多次(就现在循环中做的那样).迭代器是实现了__next__()方法的对象(这个方法在调用时不需要任何参数),它是访问可迭代序列的一种方式,通常其从序 ...

  6. C语言的知识与能力予以自评

    看到一个问卷不错,拟作为第三次作业的部分内容. 你对自己的未来有什么规划?做了哪些准备?答:多学习几门生存技巧,首先先学会碰壁. 你认为什么是学习?学习有什么用?现在学习动力如何?为什么?答:学习是人 ...

  7. 如何防止app接口被别人调用

    app开发的时候,如何保护app的接口呢? 用https是我想到的办法,但是不知道怎么实现,所以就考虑用token,虽然不是绝对有效,但是能防止一般的用户来攻击,高手非要攻击,只能报警了吧. toke ...

  8. 常用的比较器:实现方式Compareable和Comparator

    class Dog{ int size; int weight; public Dog(int s, int w){ size = s; weight = w; } } 目的:对于Dog对象作为元素所 ...

  9. openssl 加密算法 CA 介绍

    首先对于tftp服务的简要使用说明 (1)yum安装:tftp.tftp-server   (2)启动tftp CentOS 6 service xinetd restart chkconfig tf ...

  10. c# AOP 文章地址

    AOP:aspect oriented programing 面向切面编程.大概就是在程序的指定地方,可以做拦截然后插入执行指定的一段程序,这种模式在写日志,权限检查等操作很有用,这些操作都是固定的处 ...