关于Java中生成WebService代理类的说明

在访问WebService时,通常的方式是生成代理类,在Java环境中,有一个wsimport.exe,这个工具可以依据WebService的wsdl文件生成相应的Java代理类,使用方式如下:

wsimport -s [生成路径] -p [包名] -keep [WebService服务地址]?wsdl

注:生成的包名最好和WebService本身的包名一值,以防调用出现问题,其他问题可查看JDK中对该工具的描述。

关于Java中使用POI包获取Excel单元格字符串值的说明

/**
 * 定义时间格式化对象
 */
public static DateFormat dfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

/**
 * 获取Excel单元格字符串值
 * 
 * @param cell
 *            Excel单元格
 * @return 返回单元格的字符串值
 */
public static String getCellValue(Cell cell) {
	// 定义单元格字符串值对象
	String value = null;
	// 判断单元格是否为空
	if (cell != null) {
		// 根据单元格数据类型获取字符串值
		switch (cell.getCellType()) {
		case Cell.CELL_TYPE_BLANK:
			// 空单元格返回空字符串
			value = "";
			break;
		case Cell.CELL_TYPE_BOOLEAN:
			// 布尔型单元格返回布尔字符串
			value = String.valueOf(cell.getBooleanCellValue());
			break;
		case Cell.CELL_TYPE_ERROR:
			// 无效单元格返回空
			value = null;
			break;
		case Cell.CELL_TYPE_FORMULA:
			// 函数单元格返回函数计算结果字符串
			Workbook wb = cell.getSheet().getWorkbook();
			CreationHelper crateHelper = wb.getCreationHelper();
			FormulaEvaluator evaluator = crateHelper.createFormulaEvaluator();
			value = getCellValue(evaluator.evaluateInCell(cell));
			break;
		case Cell.CELL_TYPE_NUMERIC:
			// 数值单元格返回数值字符串
			if (DateUtil.isCellDateFormatted(cell)) {
				Date theDate = cell.getDateCellValue();
				value = dfDateTime.format(theDate);
			} else {
				value = NumberToTextConverter.toText(cell.getNumericCellValue());
			}
			break;
		case Cell.CELL_TYPE_STRING:
			// 字符串单元格返回字符串
			value = cell.getRichStringCellValue().getString();
			break;
		default:
			// 其他返回空
			value = null;
		}
	}
	// 返回单元格字符串值
	return value;
}

关于Java Spring MVC中快速获取HttpServletRequest和HttpServletResponse的说明

在Spring MVC中,为了能够随时取到当前请求的对象数据,可以通过@Autowired注解法获取,或者通过RequestContextHolder的静态方法getRequestAttributes获取相关变量,从而获取HttpServletRequest和HttpServletResponse对象。

一、获取HttpServletRequest:

// 注解法
@Autowired
protected HttpServletRequest request;

// RequestContextHolder法
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getResponse();

二、获取HttpServletResponse:

// 注解法
@Autowired
protected HttpServletResponse response;

// RequestContextHolder法
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletResponse response = attributes.getResponse();

关于Java中数组和链表排序的说明

一、数组排序:

Arrays.sort(array, new Comparator<String>() {
	// 定义排序比较方法
	@Override
	public int compare(String str1, String str2) {
		return str1.compareTo(str2);
	}
});

二、链表排序:

Collections.sort(list, new Comparator<String>() {
	// 定义排序比较方法
	@Override
	public int compare(String str1, String str2) {
		return str2.compareTo(str1);
	}
});