jsp 的 4 种基本语法
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 种基本语法的更多相关文章
- jsp笔记1(基本原理与语法)
web.xml文件配置管理的范围: 1.配置jsp 2.配置和管理Servlet 3.配置和管理Listener 4.配置和管理Filter 5.配置标签库 6.配置jsp属性 7.配置和管理JAAS ...
- JSP学习(2)---四种基本语法与三种编译指令
JSP的异常可以不处理,即使是checked异常. 四种基本语法: jsp声明,jsp注释,jsp表达式,jsp脚本 三种编译指令: page,include,taglib 下面是具体的练习. sho ...
- jsp中两种include的区别【转】
引用文章:http://www.ibm.com/developerworks/cn/java/j-jsp04293/ http://www.cnblogs.com/lazycoding/archive ...
- jsp基础知识(基本的语法及原理)
jsp 语法分为三种不同的类型: (1) 编译器指令: 类如: <%@ page import="java.io.*"%> (2) 脚本语法: 指定的是java代码: ...
- JSP开发中的基础语法
JSP 语法 JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代码片段 %> 或者 ...
- <关于JSP技术>运行机制及语法概述(附对本次同济校内ACM选拔赛决赛的吐槽)
(一)JSP运行的机制 JSP是一种建立在Servlet规范功能之上的动态网页技术,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过和ASP不同的是JSP文件中嵌入的是Java代码和JS ...
- 将html页改成jsp的两种方式
将html页改成jsp的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-08-13 将html页改成jsp有两种方法,第一种是直接修改html文件,另一种是新建jsp文件.下面为大 ...
- jsp中四种传递参数的方法
jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...
- [转]Markdown 11种基本语法
Markdown 11种基本语法 现在是我在学习Markdown时做的笔记.学完这些Markdown的基本使用已经不成问题. 1. 标题设置(让字体变大,和word的标题意思一样) 在Markdown ...
随机推荐
- Hbase 教程-安装
HBase安装 安装前设置 安装Hadoop在Linux环境下之前,需要建立和使用Linux SSH(安全Shell).按照下面设立Linux环境提供的步骤. 创建一个用户 首先,建议从Unix创建一 ...
- JDBC及DBUtils
1.JDBC2.DBUtils ###01JDBC概念和数据库驱动程序 * A: JDBC概念和数据库驱动程序 * a: JDBC概述 * JDBC(Java Data Base Connectivi ...
- 苹果全球营销高级副总裁Phil Schiller曾考虑炒掉长期创意代理商Media Arts Lab
来自<华尔街日报>消息,从去年开始,三星就利用广告来讽刺苹果产品.苹果全球营销高级副总裁菲尔•席勒(Phil Schiller)曾一度考虑炒掉该公司的长期创意代理商Media Arts L ...
- ASP.NET Web API - 使用 Castle Windsor 依赖注入
示例代码 项目启动时,创建依赖注入容器 定义一静态容器 IWindsorContainer private static IWindsorContainer _container; 在 Applica ...
- /proc/sys目录下各文件参数说明
linux 其他知识目录 原文链接:https://blog.csdn.net/hshl1214/article/details/4596583 一.前言本文档针对OOP8生产环境,具体优化策略需要根 ...
- [redis] linux下哨兵篇(3)
一.前言1.为何部署sentinel哨兵前文redis主从架构中,当主服务故障时,需要手动将从服务切换为主服务,sentinel服务就是将这个过程自动化.主要功能有:1)不时监控主从服务正常运行2)可 ...
- Microsoft Orleans 之简介
Microsoft Orleans 在.net用简单方法构建高并发.分布式的大型应用程序框架. 原文:http://dotnet.github.io/orleans/ 在线文档:http://dotn ...
- Java包名命名规则(转载)
转载自:http://lilinhai548.blog.163.com/blog/static/5847332920155132151359/ 鸣谢原作者 学习Java的童鞋们都知道,Java的包. ...
- 【beta】nice!-------约吧NABCD
小组名称:nice! 组长:李权 成员:于淼 刘芳芳韩媛媛 宫丽君 项目内容:约跑app(约吧) 约吧APP下载地址: 百度云:链接:http://pan.baidu.com/s/1jHNBR3g ...
- 安恒杯-babysql
1. 库名 ?id= and extractvalue(,(select group_concat(0x3a,schema_name) from information_schema.schemata ...