在servlet中调用类没有响应

时间:2011-12-09 15:24:21

标签: java servlets netbeans6.8

更改

我正在尝试创建一个servlet并使用非servlet类来管理数据库连接和用户授权。我使用日志文件来跟踪事务何时完成。我的问题是我没有条目当我从servlet类调用下面的类时,我从非servlet类调用它时得到结果。

package api;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Date;

public class DBase {

   private PrintStream outstream;

    public DBase( )
    {
        try {

            File file = new File("log");

            boolean exists = file.exists();
            if (exists) {
                outstream = new PrintStream(new FileOutputStream("log",true));
            } else {
               outstream = new PrintStream(new FileOutputStream(file,true));
            }
            System.setOut(outstream);
            System.setErr(outstream);
            System.out.println("\n" + getDateTime() + "\nInvoker: " + getClass().getName());

        } catch (FileNotFoundException ex) {
            Logger.getLogger(DBase.class.getName()).log(Level.SEVERE, null, ex);
        } 
    }

    private String getDateTime() {
      DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
      Date date = new Date();
      return dateFormat.format(date);
   }
}

从非servlet类调用该类,在日志文件中为我提供条目。

package api;


public class Test {

    public static void main(String args[]){    
              DBase dbase = new DBase();
    }
}

我什么也没得到。 它位于package servlets

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            new api.Test(); //or new api.DBase();
        } finally { 
            out.close();
        }
    } 

我正在使用Netbeans 6.8和Tomcat6

1 个答案:

答案 0 :(得分:1)

除了实例化api.Test类并返回时,您不会执行任何操作。

实例化类时不执行

main。要么调用它,要么创建一个方法来调用。

main方法更多地是作为应用程序的入口点,而不是作为通用方法。它可能使用,但IMO具有误导性。