当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·最后的    »显示摘要«
    摘要: 啥也不说了,散分吧...... ......
    摘要: 我也看了很久了.. 发现mfc中的 cruntimeclass* pruntimeclass = runtime_class(cperson) cobject* pobject = pruntimeclass->createobject(); 这种方法几乎是没有用的. 我要知道是cperson真接可以用new cperson了. 唯一的用途只怕是函数的参数传递了. 另外: char ......


一个简单的计数器中的问题

我的jsp文件为:counter.jsp  
  <%@   page   contentType="text/html;charset=gb2312"%>  
   
  <HTML>  
  <HEAD>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <TITLE>  
  计数器演示程序  
  </TITLE>  
  </HEAD>  
  <BODY>  
  <!--创建并调用Bean(counter)-->  
  <JSP:useBean   id="counter"   class="counter.counter"   scope="request">  
  </JSP:useBean>  
  <%  
  String   txtPath;  
  //获取绝对路径  
  txtPath=request.getRealPath("counter.txt");  
  //调用counter对象的ReadFile方法来读取文件counter.txt中的计数  
  String   count=counter.ReadFile(txtPath);  
  //实现同步  
  synchronized(txtPath)  
  {  
  //调用counter对象的ReadFile方法来将计数器加一后写入到文件counter.txt中  
  counter.WriteFile(txtPath,count);  
  }  
  %>  
  您是第<font   color="red"><b><%=count%></b></font>位访问者  
  </BODY>  
  </HTML>  
  javabean   文件为:counter.java  
  package   counter;  
  import   java.io.*;  
   
  public   class   counter  
  {  
  //保存文本的变量  
  private   String   currentRecord   =   null;  
  //BufferedReader对象,用于读取文件数据  
  private   BufferedReader   file;  
  //文件完整路径名  
  private   String   path;  
  public   counter()   {  
  }  
  //ReadFile方法用来读取文件filePath中的数据,并返回这个数据  
  public   String   ReadFile(String   filePath)   throws   FileNotFoundException  
  {  
  path   =   filePath;  
  //创建新的BufferedReader对象  
  file   =   new   BufferedReader(new   FileReader(path));  
  String   returnStr   =null;  
  try  
  {  
  //读取一行数据并保存到currentRecord变量中  
  currentRecord   =   file.readLine();  
  }  
  catch   (IOException   e)  
  {  
  //错误处理  
  System.out.println("读取数据错误.");  
  }  
  if   (currentRecord   ==   null)  
  {  
  //如果文件为空  
  returnStr   =   "没有任何记录";  
  }  
  else  
  {  
  //文件不为空  
  returnStr   =currentRecord;  
  }  
  //返回读取文件的数据  
  return   returnStr;  
  }  
  //ReadFile方法用来将数据counter+1后写入到文本文件filePath中  
  //以实现计数增长的功能  
  public   void   WriteFile(String   filePath,String   counter)   throws   FileNotFoundException  
  {  
  path   =   filePath;  
  //将counter转换为int类型并加一  
  int   Writestr   =   Integer.parseInt(counter)+1;  
  try  
  {  
  //创建PrintWriter对象,用于写入数据到文件中  
  PrintWriter   pw   =   new   PrintWriter(new   FileOutputStream(filePath));  
  //用文本格式打印整数Writestr  
  pw.println(Writestr);  
  //清除PrintWriter对象  
  pw.close();  
  }  
  catch(IOException   e)  
  {  
  //错误处理  
  System.out.println(e.getMessage());  
  }  
  }  
  }  
  counter.jsp   的路径为:D:\Apache   Tomcat   4.0\webapps\examples\jsp\counter\counter.jsp  
  counter.class   的路径为:D:\Apache   Tomcat   4.0\webapps\examples\WEB-INF\classes\counter\counter.class  
  但运行后出现这样的错误:  
  org.apache.jasper.JasperException:   Unable   to   compile   class   for   JSPNote:   sun.tools.javac.Main   has   been   deprecated.  
   
   
  An   error   occurred   between   lines:   14   and   26   in   the   jsp   file:   /jsp/counter/counter.jsp  
   
  Generated   servlet   error:  
  D:\Apache   Tomcat   4.0\work\Standalone\localhost\_\jsp\counter\counter$jsp.java:63:   Undefined   variable   or   class   name:   counter  
                                  String   count=counter.ReadFile(txtPath);  
                                                            ^  
   
   
  An   error   occurred   between   lines:   14   and   26   in   the   jsp   file:   /jsp/counter/counter.jsp  
   
  Generated   servlet   error:  
  D:\Apache   Tomcat   4.0\work\Standalone\localhost\_\jsp\counter\counter$jsp.java:68:   Undefined   variable   or   class   name:   counter  
                                  counter.WriteFile(txtPath,count);  
                                  ^  
  Note:   D:\Apache   Tomcat   4.0\work\Standalone\localhost\_\jsp\counter\counter$jsp.java   uses   or   overrides   a   deprecated   API.     Recompile   with   "-deprecation"   for   details.  
  2   errors,   2   warnings  
   
  at   org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)  
  at   org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)  
  at   org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176)  
  at   org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188)  
  at   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)  
  at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)  
  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)  
  at   org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)  
  at   java.lang.Thread.run(Thread.java:536)  
   
  这是为什么?  
  帮帮我吧!  
 

NO.1   作者: xiaofenguser

<JSP:useBean   id="counter"   class="counter.counter"   scope="request">  
  </JSP:useBean>  
  改成:  
  <jsp:useBean   id="counter"   class="counter.counter"   scope="request">  
  </jsp:useBean>  
   
 

NO.2   作者: 3332221119

<jsp:useBean   id="counter"   class="counter.counter"   scope="page"/>

NO.3   作者: 3332221119

<%@   page   contentType="text/html;charset=gb2312"%>  
  <jsp:useBean   id="counter"   class="counter.counter"   scope="page"/>  
  <HTML>  
  <HEAD>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <TITLE>  
  计数器演示程序  
  </TITLE>  
  </HEAD>  
  <BODY>  
  <!--创建并调用Bean(counter)-->  
  <%  
  String   txtPath;  
  //获取绝对路径  
  txtPath=request.getRealPath("counter.txt");  
  //调用counter对象的ReadFile方法来读取文件counter.txt中的计数  
  String   count=counter.ReadFile(txtPath);  
  //实现同步  
  synchronized(txtPath)  
  {  
  //调用counter对象的ReadFile方法来将计数器加一后写入到文件counter.txt中  
  counter.WriteFile(txtPath,count);  
  }  
  %>  
  您是第<font   color="red"><b><%=count%></b></font>位访问者  
  </BODY>  
  </HTML>


    摘要: 如题 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE