当前位置: 移动技术网 > IT编程>开发语言>Jsp > jsp 中声明方法的使用

jsp 中声明方法的使用

2018年12月04日  | 移动技术网IT编程  | 我要评论

1、在”<%!”和”%>”之间声明方法,该方法在整个jsp页面有效,但是该方法内定义的变量只在该方法内有效。这些方法将在java程序片中被调用,当方法被调用时,方法内定义的变量被分配内存,调用完毕即可释放内存。当多个客户同时请求一个jsp页面时,他们可能使用方法操作成员变量,对这种情况应给予重视。

解决办法:通过synchronized方法操作一个成员变量来实现一个计数器




<%!
 int number=0;
 synchronized void countpeople()
 {
      number++;
 }
 %>
 <%
 countpeople();
 %>

您是第 个访问本站的客户。


运行效果:

\

<喎? f/ware/vc/"="" target="_blank" class="keylink">vcd4kpha+yc/d5txiupba/dfto6zi57n7vg9ty2f0t/7o8cb31tjqwsb0tq++zbvhy6lqwrzgyv3g96os0vk0y7zgyv3t1tbyml+qyryjrntaz8ld5txiupba/dfto6zo0sphyrntw0phdmg1xmrkyovk5lp2wfe8vmr1o6y9q7zgyv2xo7tmtb3oxlz+o6y1sb/nu6e3w87kumnku1dss8pmyrgjrl7nykw2wcih1ek49s7evp6jrl2rt/7o8cb31tjqwsb0tq/wrsewtcs8xsr9tshi66ossqlu2rtou/m0ocnp1pa80zgjrmi7uvo9q9dctcs8xsr90lti67w9zss8/qgjpc9wpgo8cd48chjlignsyxnzpq=="brush:java;"><%@ page contenttype="text/html;charset=gb2312"%> <%@ page import="java.io.*"%> <%! int number=0; file file=new file("count.txt"); synchronized void countpeople() { if(!file.exists()){ number++; try{ file.createnewfile(); fileoutputstream out=new fileoutputstream("count.txt"); dataoutputstream dataout=new dataoutputstream(out); dataout.writeint(number); out.close(); dataout.close(); }catch(ioexception ee){} } else{ try{ fileinputstream in=new fileinputstream("count.txt"); datainputstream datain=new datainputstream(in); number=datain.readint(); number++; in.close(); datain.close(); fileoutputstream out=new fileoutputstream("count.txt"); dataoutputstream dataout=new dataoutputstream(out); dataout.writeint(number); out.close(); dataout.close(); }catch(ioexception ee){} } } %> <% countpeople(); %>

您是第 <%=number%> 个访问本站的客户。


运行效果:



如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网