jsp页面中,<%! %>的感叹号是干什么用的?

转载 2015年11月20日 09:56:54

jsp页面中,<%! %>的感叹号是干什么用的?

2011-08-14 21:07friendsfriend | 浏览 8166 次
我从网上找的代码,生成验证码图片用的,如下,去掉<%! 旁边的感叹号后就报错了,这个感叹号代表什么意思啊?
<%@ page contentType="image/jpeg"%>
<%@ page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%>
<%!
	Color getRandColor(int fc, int bc) {//给定范围获得随机颜色
		Random random = new Random();
		if (fc > 255) fc = 255;
		if (bc > 255) bc = 255;
		int r = fc + random.nextInt(bc - fc);
		int g = fc + random.nextInt(bc - fc);
		int b = fc + random.nextInt(bc - fc);
		return new Color(r, g, b);
	}
%>
……
2011-08-14 21:35 提问者采纳
<%!%>是声明标签
因为Jsp页在到tomcat的时候会被编译为java文件
jsp页面里面的所有东西都会包含在一个方法里
如果不用声明标签去声明这是个方法
就会报错了
因为方法里面不能有方法
提问者评价
谢谢你,谢谢大家啊
评论(4) | 60 2
2015-4-30 13:11轩辕渡痕
楼上sb,最后一句话才是精髓。上面已经说了,编译后jsp页面所有内容会包含在一个方法里面,如果直接在<%%>里写方法,那么这就是方法中的方法,直接编译不通过。回复
2014-9-11 23:10zh369852264
说的是不错,可最后一句有点........回复
2014-5-11 22:38skitte
确实方法要写在这个标签里面。回复
2012-10-26 13:38L9237
这位老师答得真好:)回复

为您推荐:

其他6条回答

2011-08-14 21:15lyl7120 | 四级
<%! %>一般用于一行Java代码,一般常见于变量的定义。
<% %>一般用于多行java代码,即代码块。
你的程序很明显是“一行”,注意java语言中“一行”的概念不是编辑器中显示的一行,而是编译器认可的“一行”。
如:
int
i
=
10

看上去是5行,但编译器认为是“一行”
java中“行”的分隔符一个是“;”,另一个就是“{}”,即复合语句。
评论 | 5 11
2011-08-14 21:16yq12010902 | 四级
<%!
Color getRandColor(int fc, int bc) {//给定范围获得随机颜色
Random random = new Random();
if (fc > 255) fc = 255;
if (bc > 255) bc = 255;
int r = fc + random.nextInt(bc - fc);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
return new Color(r, g, b);
}
%>
这是在jsp页面中写java脚本的语法,你去掉了当然会报错呀,如没有了语法,你说还能不能在页面上直接写java代码???
评论 | 0 8
2011-08-14 21:35635333024 | 三级
用于声明
评论 | 0 0
2011-08-14 22:02anliguo131 | 二级
定义方法或变量,麻烦你可以看一下这方面的资料
评论 | 2 0
2011-08-14 22:12一个IT小兵 | 二级
<%@ %>、<%! %>、<% = %>等这些是jsp中的基本语法元素,<%! %>是jsp中的申明标签 ,如果去掉的话就变成表达式啦,加个!来区分

jsp页面中,<%! %>的感叹号是干什么用的?

jsp页面中,的感叹号是干什么用的? 2011-08-14 21:07friendsfriend | 分类:其他编程语言 | 浏览4578次 我从网上找的代码,生成验证码图片用的,如下,去掉...
  • evilcry2012
  • evilcry2012
  • 2014年10月12日 10:19
  • 909

代替ASP中的Request函数,防止SQL注入

SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍,通常是由于程序员对注入不了解,或者程序过滤不严格,或者某个参数忘记检查导致。在这里,我给大家一个函数,代替ASP中的Request函...
  • penguinMII
  • penguinMII
  • 2005年03月02日 15:41
  • 1222

nginx干什么的?

Ngix是web服务器,跟apache一样,它可以做动态请求转发、web端负载均衡、反向代理等等; tomcat是应用服务器,当然如果非用逼良为娼,也可做web服务器用,它主要是做Servlet容器用...
  • qq_30632003
  • qq_30632003
  • 2016年10月27日 10:59
  • 3873

js中的eval 函数到底是干什么用的

简单解释: 其功能就是把对应的字符串解析成JS代码并运行 如果,比如,你现在要运行一个可变的方法 function sayhello(){……} function saygoodbye(){……...
  • gayayzy
  • gayayzy
  • 2012年05月19日 12:09
  • 3637

microsoft net framework 4.0干什么用的

是一个框架,用.net技术做软件开发时会用到,主要包括公共语言运行库和 .NET Framework 类库两大部分。用.net开发的软件在相应平台上使用,也会需要相应版本的框架。...
  • wu_pan123
  • wu_pan123
  • 2017年06月28日 10:13
  • 641

xml可以用做什么?

XML是被设计为存储、传输以及交换数据的。XML不是被设计为用来显示数据的。 XML可以将HTML与数据分离 通过使用XML,您的数据可存储于HTML之外。 当我们使用HTML来显示数据...
  • shipeng22022
  • shipeng22022
  • 2012年09月01日 18:15
  • 1586

Maven到底是什么,Maven到底有什么用

为什么要使用Maven来管理项目 因为一开始没有用过maven,当进入新公司后听到他们以后开发用maven和ssm框架是挺好奇的,那这个maven 到底是用来干什么的呢?我就不停的百度mav...
  • qq_29011851
  • qq_29011851
  • 2017年03月09日 14:20
  • 5817

linux下的文件结构,看看每个文件夹都是干吗用的

linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令  /dev 设备特殊文件  /etc 系统管理和配置文件  /etc/rc.d 启动的配置文件和脚本  /ho...
  • llovemydog
  • llovemydog
  • 2011年08月22日 16:55
  • 265

花生壳是干什么用的

花生壳是干什么用的?花生壳有二个意思,一是指
  • zooziib
  • zooziib
  • 2014年08月24日 19:22
  • 360

显卡是干什么用的?

突然想到这个问题。不知道!刚才看书看到GDI的时候想到的。Google了一下,不过下面的资料似乎有点old了,不过如果你也一样和我有同样的疑问的话,还是有的一读的,呵呵。显卡又称显示器适配卡,现在的显...
  • kisserLeon
  • kisserLeon
  • 2007年04月05日 15:17
  • 1165
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jsp页面中,<%! %>的感叹号是干什么用的?
举报原因:
原因补充:

(最多只允许输入30个字)