jsp中加入Java代码

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:45:17
<%!
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);
}
%>
上面这段代码中<%! %>---感叹号是做什么的啊
<%! %>和<% %>有什么区别……

<%! %>是在service方法的外面定义变量和写入语句的,也就是在servlet中定义变量,而我们知道servlet在被container加载后只生成一个对象而已,然后所有的请求都在service方法里面被处理。所以如果你在servlet中定义了变量,那么所有的请求可以共用这一个变量了。

最简单的应用就是,你要计算有多少人访问了这一个JSP页面,那么就可以把变量i定义在servlet中,然后在JSP文件里面加一句i++;,这样就可以统计有多少人访问了你这个页面了。

至于<% %>这个嘛,就是在service方法里啦。

<%! %>-感叹号:用来定义变量和函数
<% %>:用来执行一段代码(调用函数)
<%=xxx.yyy() %>:用来打印xxx.yyy()的输出到页面
<%-- --%>:jsp用来注释

<% %> 相当于你写在Servlet 的doget() or dopost()里, 可以用request response等对象
<%! %> 相当于你写在Servlet里的方法, 没有request response对象

这应该是一个验证码的方法.
<%! %>是声明一个方法
<% %>是表达式、里面是不可写方法的