📄 loghandler.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -