All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.xson.tangyuan.util.ServletUtil Maven / Gradle / Ivy

package org.xson.tangyuan.util;

import java.io.IOException;
import java.io.Writer;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.IOUtils;
import org.xson.common.object.XCO;

public class ServletUtil {

	public static String getIpAddress(HttpServletRequest request) {
		String ip = request.getHeader("x-forwarded-for");
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("Proxy-Client-IP");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("WL-Proxy-Client-IP");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("HTTP_CLIENT_IP");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("HTTP_X_FORWARDED_FOR");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getRemoteAddr();
		}
		return ip;
	}

	public static XCO getXCOArg(HttpServletRequest request) throws IOException {
		byte[] buffer = IOUtils.toByteArray(request.getInputStream());
		return XCO.fromXML(new String(buffer, "UTF-8"));
	}

	public static void reponse(HttpServletResponse response, XCO result) throws IOException {
		if (null != result) {
			response.setHeader("Content-type", "text/html;charset=UTF-8");
			response.setCharacterEncoding("UTF-8");
			Writer write = response.getWriter();
			write.write(result.toXMLString());
			write.close();
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy