一个新闻发布的BEAN,
里面有这两条语句
String file = "news\\ice"+titleMD5+".htm";
   PrintWriter pw = new PrintWriter(new FileOutputStream(file)); 
是什么意思啊?有点迷惑。
news\\ice好像是个路径名,那么它在TOMCAT下应该放哪呢,是不是在BIN下,建一个news文件夹,然后再建立一个ice文件夹。
我编译这个 Bean时候出两个错如下:login\PubBean.java:28: unclosed string literal
   db.Update("insert into news values('"+title+"','"+titleMD5+"'));
                                                              ^
login\PubBean.java:29: ')' expected
   String file = "news\\ice"+titleMD5+".htm";bean 如下, md5是一个算法类,db是个链接数据库的类,都已经编译成功。
public PubBean() {
 db = new DB();
  md5 = new MD5();  
 }
 
 public void setTitle(String title){
  this.title = title;
 }
 
 public void setContext(String context) {
  this.context = context;
 }
  public void pubIt() {
  try {
   title = new String(title.getBytes("8859_1"),"gb2312");
   context = new String(context.getBytes("8859_1"),"gb2312");
   String titleMD5 = md5.getkeyBeanofStr(title);
   db.Update("insert into news values('"+title+"','"+titleMD5+"'));
   String file = "news\\ice"+titleMD5+".htm";
   PrintWriter pw = new PrintWriter(new FileOutputStream(file)); 
   pw.println("<title>"+title+"</title>");
   pw.println(context); 
   pw.close();  
  }
  catch(Exception e){ 
   System.out.println(e);
  }
 }
 
}

解决方案 »

  1.   

    titleMD5是什么?
    如果也是字符串的话,String file = "news\\ice"+titleMD5+".htm";
       PrintWriter pw = new PrintWriter(new FileOutputStream(file)); 
    的作用就是在当前目录下传创建一个news\ice+titleMD5.html这种目录结构的文件,同时用这个文件创建一个文件输出流,并封装成PrintWriter!db.Update("insert into news values('"+title+"','"+titleMD5+"'));改成
    db.Update("insert into news values('"+title+"','"+titleMD5+"')");后面少了个引号
      

  2.   

    这个问题已经解决了,能编译了,可是我的PUB.JSP在tomcat下运行,却提示如下错误。。】
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: -1 in the jsp file: nullGenerated servlet error:
        [javac] Compiling 1 source fileC:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\pub_jsp.java:29: 'try' without 'catch' or 'finally'
        try {
        ^
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\pub_jsp.java:70: illegal start of type
        } catch (Throwable t) {
          ^
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\pub_jsp.java:80:  expected
      }
      ^
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\pub_jsp.java:81: 'class' or 'interface' expected
    }
    ^
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\pub_jsp.java:82: 'class' or 'interface' expected
    ^
    5 errors
    pub.jsp文件代码如下:
    <%@ page contentType="text/html;charset=gb2312"%>
    <%
     String title = request.getParameter("title");
     String context = request.getParameter("context");
      %>
      <jsp:useBean id="pubBean" class="login.PubBean"/>
      <jsp:setProperty name="pubBean" property="title" value="<%= title.trim() %>"/>
      <jsp:setProperty name="pubBean" property="context" value="<%= context %>"/>
     <%
      pubBean.pubIt();
      response.sendRedirect("display.jsp");
     }
    %>why?
      

  3.   

    <%
    pubBean.pubIt();
    response.sendRedirect("display.jsp");
    }  -----这里多了一个"}"
    %>
      

  4.   

    pubBean.pubIt();
    有可能发生异常,你并没有加try..catch拦截它
      

  5.   

    String file = "news\\ice"+titleMD5+".htm";
    news\\ice好像是个路径名,那么它在TOMCAT下应该放哪呢,是不是在BIN下,建一个news文件夹,然后再建立一个ice文件夹。JVM在创建这个String时会在你的当前目录下会找news目录,可以通过user.dir来得知当前目录的绝对位置,如果没有这个news目录,也许会下面处理按照这个path来处理file时就会出错,所以要保证当前目录下存在这样的目录结构,及相关文件,如:..\news\ice\tilemd5.html
      

  6.   

    谢谢pub.jsp页面已经不出错了.只是我的记录没有到数据库中.上面哪个大哥说的我不太明白.是不是在当前页面建立news文件夹,然后再在此文件夹下建立ice文件啊
      

  7.   

    1.file  ->   动态建立目录生成相应文件
    2.db.Update("insert into news values('"+title+"','"+titleMD5+"'));
    少了个引号:db.Update("insert into news values('"+title+"','"+titleMD5+"')");
    3.你的Bean有问题,如try...catch...检查程序
      

  8.   

    引号我已经加上,我的bean已经可以正常编译,但是就是不向数据库中插数据。
    那段代码没运行?