2008-06-20

request处理

package cn.test;


import java.io.UnsupportedEncodingException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;


public class RequestUtil {

	static Logger logger=Logger.getLogger(RequestUtil.class);
	
	
	/**
	 * 获取request中的数据
	 * @param request
	 * @param parameter
	 * @return
	 * @throws UnsupportedEncodingException
	 */
	public static String getStringParameter(HttpServletRequest request,String parameter) throws UnsupportedEncodingException{
		String stringParameter = request.getParameter(parameter).trim();
		if ( StringUtils.isEmpty(stringParameter) ) return "";		
		parameter = new String((stringParameter).getBytes("ISO-8859-1"),"UTF-8"); 		
		return parameter;
	}
	
	/**
	 * 带有默认值的获取request中的数据
	 * @param request
	 * @param parameter
	 * @param defaultValue
	 * @return
	 * @throws UnsupportedEncodingException
	 */
	public static String getStringParameter(HttpServletRequest request,String parameter,String defaultValue) throws UnsupportedEncodingException{
		String stringParameter = request.getParameter(parameter).trim();
		if ( StringUtils.isEmpty(stringParameter) ) return defaultValue;		
		parameter = new String((stringParameter).getBytes("ISO-8859-1"),"UTF-8"); 		
		return parameter;
	}
	
	/**
	 * 获取request中的int型数据
	 * @param request
	 * @param parameter
	 * @return
	 */
	public static int getIntParameter(HttpServletRequest request,String parameter){		
		String stringParameter = request.getParameter(parameter).trim();
		int intParameter=0;
		try{
			if(StringUtils.isNumeric(stringParameter)){
				intParameter=Integer.parseInt(stringParameter);			
			}
		}catch(Exception e){
			logger.error("String转换成int有误", e);
		}
		
		return intParameter;
	}
	
	/**
	 * 获取request中带有默认值的int型数据
	 * @param request
	 * @param parameter
	 * @param defaultValue
	 * @return
	 */	
	public static int getIntParameter(HttpServletRequest request,String parameter,int defaultValue){		
		String stringParameter = request.getParameter(parameter).trim();
		int intParameter=defaultValue;
		try{
			if(StringUtils.isNumeric(stringParameter)){
				intParameter=Integer.parseInt(stringParameter);			
			}
		}catch(Exception e){
			logger.error("String转换成int有误", e);
		}
		
		return intParameter;
	}
	
	/**
	 * 获取Date型的数据
	 * @param request
	 * @param parameter
	 * @param format
	 * @return
	 */
	public static Date getDateParameter(HttpServletRequest request,String parameter,String format){
		Date date=new Date();
		String stringParameter=request.getParameter(parameter).trim();
		DateFormat df=new SimpleDateFormat(format);
		try {
			date=df.parse(stringParameter);
		} catch (ParseException e) {
			logger.error("日期转换有误",e);
		}
		return date;
	}
	
	/**
	 * 字符串的编码转换
	 * @param parameter
	 * @return
	 */
	public static String codingConvert(String parameter){
		String param="";
		try {
			param = new String(parameter.getBytes("ISO-8859-1"),"UTF8");
		} catch (UnsupportedEncodingException e) {
			logger.error("字符编码转换有误",e);
		}
		return param;
	}
	
	public static String getUTF(HttpServletRequest request,String parameter) throws UnsupportedEncodingException{
       	String param = request.getParameter(parameter);
       	if ( param == null ) return null;       	
       	param = new String(param.getBytes("ISO-8859-1"),"UTF-8");       
       	return param;
	}
	public static String getGB(HttpServletRequest request,String parameter) throws UnsupportedEncodingException{
       	parameter = request.getParameter(parameter);
       	if ( parameter == null ) return null;       	
       	parameter = new String(parameter.getBytes("ISO-8859-1"),"GBK"); 
       	
       	return parameter;
	}
	
	
}

评论
发表评论

您还没有登录,请登录后发表评论

canofy
  • 浏览: 8717 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
  • 详细资料
搜索本博客
存档
最新评论