⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loghandler.java

📁 webservices axis文档 例子
💻 JAVA
字号:
package anni.handler;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.Date;
import org.apache.axis.AxisFault;
import org.apache.axis.Handler;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;

public class LogHandler extends BasicHandler {
    /**
        invoke,每一个handler都必须实现的方法。
     */
    public void invoke(MessageContext msgContext) throws AxisFault {
        //每当web服务被调用,都记录到log中。
        try {
            Handler handler = msgContext.getService();
            String filename = (String)getOption("filename");
            if ((filename == null) || (filename.equals("")))
                throw new AxisFault("Server.NoLogFile",
                    "No log file configured for the LogHandler!",
                    null, null);
            FileOutputStream fos = new FileOutputStream(filename, true);            
            PrintWriter writer = new PrintWriter(fos);            
            Integer counter = (Integer)handler.getOption("accesses");
            if (counter == null)
                counter = new Integer(0);

            counter = new Integer(counter.intValue() + 1);            
            Date date = new Date();
            msgContext.getMessage().writeTo(System.out);
           
            String result = "在" + date + ": Web 服务 " +
                msgContext.getTargetService() +
                " 被调用,现在已经共调用了 " + counter + " 次.";
            handler.setOption("accesses", counter);            
            writer.println(result);            
            writer.close();
        } catch (Exception e) {
            throw AxisFault.makeFault(e);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -