Java代码
package javacommon.util;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.util.Assert;
public class ServletUtil {
/**
* 取得客户端真实IP
* @param request
* @return
*/
public static String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
public String getIpAddr(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.getRemoteAddr();
}
return ip;
}
/**
* 打开URL返回状态码
* @param url
* @return
*/
public static int openUrl(String urlstr)throws Exception{
URL url = new URL(urlstr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
return conn.getResponseCode();
}
/**
* 直接输出文本
* @param response
* @param text
*/
public static void rendText(HttpServletResponse response,String text){
try {
response.setCharacterEncoding("utf-8");
// response.s
PrintWriter print=response.getWriter();
print.print(text);
print.flush();
print.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 直接输出js内容
* @param response
* @param text
*/
public static void printJavaScript(HttpServletResponse response,String text){
StringBuffer sb = new StringBuffer("<script>");
sb.append(text);
sb.append("</script>");
rendText(response,sb.toString());
}
/**
* 从request中取得指定参数的值
* @param request HttpServletRequest
* @param name 参数名
* @param defaultValue 默认值
* @return int
*/
public static int getParameter(HttpServletRequest request,String name,int defaultValue){
Assert.notNull(request, "Request must not be null");
String v = request.getParameter(name);
if(v!=null && !v.equals("")){
try{
defaultValue = Integer.parseInt(v);
}catch(NumberFormatException e){
}
}
return defaultValue;
}
/**
* 从request中取得指定参数的值
* @param request HttpServletRequest
* @param name 参数名
* @param defaultValue 默认值
* @return long
*/
public static long getParameter(HttpServletRequest request,String name,long defaultValue){
Assert.notNull(request, "Request must not be null");
String v = request.getParameter(name);
if(v!=null && !v.equals("")){
try{
defaultValue = Long.parseLong(v);
}catch(NumberFormatException e){
}
}
return defaultValue;
}
/**
* 从request中取得指定参数的值
* @param request HttpServletRequest
* @param name 参数名
* @param defaultValue 默认值
* @return string
*/
public static String getParameter(HttpServletRequest request,String name,String defaultValue){
Assert.notNull(request, "Request must not be null");
try {
if(request.getParameter(name)==null){
return defaultValue;
}
String v = request.getParameter(name);
if(v!=null && !v.equals("")){
return v;
}
return defaultValue;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return defaultValue;
}
}
}