J2EE 课件2
1.JSP页面可由5种元素组合而成:
① 普通的HTML标记符;
② JSP标记,如指令标记、动作标记;
③ 变量和方法的声明;
④ Java程序片;
⑤ Java表达式
2.声明变量和方法
JSP页面在标记符“<%!”和“%>”之间声明他的成员变量和方法。
“<%!”和“%>”之间声明的变量在整个JSP页面内有效,因为Tomcat服务器将JSP页面转译成Java文件时,将这些变量作为类的成员变量,这些变量的内存空间直到服务器关闭才释放。
3.java程序片
可以在“<%”和“%>”之间插入Java程序片。一个JSP页面可以有许多程序片,这些程序片按顺序执行。在一个程序片中声明的变量称为JSP页面的局部变量。该局部变量在JSP页面后继的所有程序片及表达式内都有效。这是因为,Tomcat服务器将JSP页面转译成Java文件时,将程序片中声明的变量作为类中某个方法的变量(即局部变量)使用。
如果一个用户在执行程序片时调用JSP页面的方法操作JSP页面的成员变量时,可能不希望其他用户也调用该方法操作成员变量,一面对其产生不利的影响,就应该将操作成员变量的方法用synchronized关键字修饰。
<%! int count=0; //被客户共享的count
synchronized void setCount(){ //synchronized修饰的方法
count++;
}
%>
synchronized实例
可以将程序片分成几个小的程序片,以便插入JSP标记或HTML标记。
<%@ page contentType="text/html;Charset=GB2312" %>
<HTML><BODY bgcolor=cyan>
<% int sum=0,i,j;
for(i=1;i<=6;i++){
%> <Font size=<%=i%>>
<b>大家好!</b>
</Font>
<% sum=sum+i;
}
if(sum%2==0) {
out.print("<BR><b>"+sum+"</b>");
%> <b>是偶数.</b>
<% }
else{
out.print("<BR><b>"+sum+"</b>");
%> <b>是奇数.</b>
<% }
%>
</BODY></HTML>
拆分java程序片
<P> Sin(0.9)除以3等于
<%=Math.sin(0.90)/3%>
4.注释
1. HTML 注释格式: <!-- 注释内容 -->
2. JSP 注释格式: <%-- 注释内容 --%>
3.程序片中的行注释用 "//"
5.HTML标记
JSP页面中的HTML标记是页面的静态部分。当客户通过浏览器请求一个JSP页面时,Tomcat服务器将该JSP 页面中的HTML标记直接发送给客户的浏览器,由客户的浏览器负责执行这些HTML标记。
而JSP页面中的变量声明、程序片和表达式为动态部分,需要服务器作出处理后,再将有关处理后的结果发送给客户。 而JSP 页面中的变量声明、程序片以及表达式由Tomcat服务器处理后,再将有关的结果用文本方式发送给客户端的浏览器。
<FORM> <Input> <Select> <Option> <TextArea> <TABLE> <IMG> <EMBED>
J2EE 课件2的更多相关文章
- J2EE 课件3 JSP标记
•JSP标记包括指令标记.动作标记和自定义标记.其中自定义标记主要讲述与Tag文件有关的Tag标记 1.指令标记page page 指令用来定义整个JSP页面的一些属性和这些属性的值,属性值用单 ...
- j2EE经典面试题
1. hibernate中离线查询去除重复项怎么加条件? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2. http协议及端口,sm ...
- <J2EE学习笔记>关于Servlet的讲义
题外话:接触java又是半年之前的事情了,当初好好学了java却把cpp给忘了,到现在又把手里发热的cpp给放下重新捡起来java,究竟这两种OOP语言我能不能清晰分开记住呢 以下全部课件来自于同济大 ...
- J2EE 项目读写分离
先回答下 1.为啥要读写分离? 大家都知道最初开始,一个项目对应一个数据库,基本是一对一的,但是由于后来用户及数据还有访问的急剧增多, 系统在数据的读写上出现了瓶颈,为了让提高效率,想读和写不相互影响 ...
- J2EE 邮件发送那些事儿
距离自己写的关于java邮件发送的第一篇博客已经有很长一段时间了,现在回过头看看.虽然代码质量方面有待提高,整体结构也不怎样,但是基本思路和过程还是比较纯的.现在有空写写J2EE中邮件发送的开发,实际 ...
- 配置eclipse J2EE环境
早已习惯使用eclipse做Java相关的开发,因为之前安装的是RCP版本,今天发现对于J2EE的开发,在perference中居然没有Axis2的支持,需要添加J2EE的支持插件,特在此说明安装方式 ...
- J2EE或MyEclipse简单配置以及第一个web页面
首先打开你下载安装好的MyEclipse,配置你开发需要的环境. 大致分为3步:①配置编码:Window-->preferences-->General-->Workspace--& ...
- linux基础快速掌握课件
分享一个很好的linux课件,可以快速掌握linux的基础.猛击下面的链接地址打开 http://pan.baidu.com/s/14oa9w
- 滑动验证的设计与实现J2EE
滑动验证的设计与实现J2EE 注:本博文为博主原创,转载请注明出处. 项目源码地址:https://github.com/zhangxy1035/Verify 本篇博文的主要目录如下: 一.项目简介二 ...
随机推荐
- nginx 多进程 + io多路复用 实现高并发
一.nginx 高并发原理 简单介绍:nginx 采用的是多进程(单线程) + io多路复用(epoll)模型 实现高并发 二.nginx 多进程 启动nginx 解析初始化配置文件后会 创建(for ...
- Apache Kafka官方文档翻译(原创)
Apache Kafka是一个分布式流平台.准确的说是什么意思呢?我们认为流平台具有三种关键能力: 1.让你对数据流进行发布订阅.因此他很像一个消息队列和企业级消息系统. 2.让你以高容错的方式存储数 ...
- HTML基础2——综合案例3——创建考试报名表格
<html> <head> <title></title> </head> <body> <table width=&qu ...
- Snipaste强大离线/在线截屏软件的下载、安装和使用
步骤一: https://zh.snipaste.com/ ,去此官网下载. 步骤二:由于此是个绿色软件,直接解压即可. 步骤三:使用,见官网.ttps://zh.snipaste.com 按F1 ...
- Python_购物车问题
import os goods = [ {"name": "电脑", "price": 1999}, {"name&q ...
- CSS垂直居中和水平居中的几种方法
垂直居中 方法一 这个方法把div 的显示方式设置为表格,因此我们可以使用表格的 vertical-align属性. <!DOCTYPE html> <html lang=" ...
- esp8266 SOC方案经过半年沉淀之后再度重启二
2018-08-2014:16:10 以下是输出控制 PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0); GPIO_OUTPUT_SET ...
- 2) 十分钟学会android--建立第一个APP,执行Android程序
通过上一节课创建了一个Android的Hello World项目,项目默认包含一系列源文件,它让我们可以立即运行应用程序. 如何运行Android应用取决于两件事情:是否有一个Android设备和是否 ...
- POJ_1062_(dijkstra)
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 48126 Accepted: 14343 Descripti ...
- dutacm.club_1087_Common Substrings_(KMP)_(结合此题通俗理解kmp的next数组)
1087: Common Substrings Time Limit:3000/1000 MS (Java/Others) Memory Limit:163840/131072 KB (Java/ ...