loghandler.java

来自「< J2EE应用开发详解>>一书全部的源代码. 本书基于J」· Java 代码 · 共 56 行

JAVA
56
字号
package com.j2ee14.ch20;import java.util.*;import javax.xml.namespace.QName;import javax.xml.rpc.handler.soap.SOAPMessageContext;import javax.xml.rpc.JAXRPCException;import javax.xml.rpc.handler.*;import javax.xml.soap.*;import java.io.*;/** * 用于做访问日志的Handler */public class LogHandler extends GenericHandler {        private QName [] qnames;    private String fileName;        public void init(HandlerInfo info) {        qnames = info.getHeaders();            //获得初始参数        fileName = (String) info.getHandlerConfig().get("fileName");        System.out.println("LogHandler: fileName = " + fileName);    }        /*     * 这是GenericHandler中的抽象方法,必须实现。.     */     public QName[] getHeaders() {        return qnames;    }         /**     *处理请求     */    public boolean handleRequest(MessageContext msgContext) {        try {                        FileOutputStream fos = new FileOutputStream(fileName, true);                        PrintWriter writer = new PrintWriter(fos);                        String remoteIp=(String)msgContext.getProperty("ipAddr");                        Date date = new Date();                       String result = "在"+date + ": Web 服务被调用,客户的ip地址是:" + remoteIp + ".";                       writer.println(result);                        writer.close();                    } catch (Exception e) {            throw new JAXRPCException(e);        }        return true;//返回true,继续处理soap消息                }    }

⌨️ 快捷键说明

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