`
q445862108
  • 浏览: 84580 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

java2

    博客分类:
  • java
阅读更多
package com.tpaic.ec.util;

import java.security.Key;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.regex.Pattern;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jboss.security.Base64Encoder;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

import com.tpaic.auto.client.ec.dto.InsureTemp;
import com.tpaic.auto.client.ec.dto.TempBase;
import com.tpaic.ec.domain.NetPlanDefine;
import com.tpaic.ec.domain.Parameter;
import com.tpaic.tpfa.app.biz.dispatch.DispatchServiceException;

/**
 * 公共函数,全是static方法
 * 
 * @author xiemingmei
 * @date 2008-9-21
 */
public class CommonFunctions {

	protected static final Log logger = LogFactory.getLog(CommonFunctions.class);

	private CommonFunctions() {
	}

	/**
	 * MD5散列后base64编码 密码经过此该方法编码存进数据库
	 * 
	 * @param str
	 * @return
	 */
	public static String getMd5EncodeString(String str) {
		String encode = "666666";
		try {
			byte[] hash = MessageDigest.getInstance("MD5").digest(str.getBytes());
			encode = Base64Encoder.encode(hash);
		} catch (Exception e) {
			logger.error(e);
		}
		return encode;
	}

	/**
	 * 生成随机密码
	 * 
	 * @param length
	 * @return
	 */
	public static String getRandomString(int length) {
		String str = "01234567890123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		StringBuffer sb = new StringBuffer();
		Random r = new Random();
		int range = str.length();
		for (int i = 0; i < length; i++) {
			sb.append(str.charAt(r.nextInt(range)));
		}
		return sb.toString();
	}
	
	/**
	 * 把中文转换为拼音
	 * @param name
	 * @return
	 */
	public static String cnToSpell(String name){
		try {
			return Spell.converterToFirstSpell(name);
		} catch (Exception e) {
			logger.debug(e);
		}
		return name;
	}
	
	public static String getRandomPassword(int length) {
		String str = "0123456789";
		StringBuffer sb = new StringBuffer();
		Random r = new Random();
		int range = str.length();
		for (int i = 0; i < length; i++) {
			sb.append(str.charAt(r.nextInt(range)));
		}
		return sb.toString();
	}
	public static void main(String[] a) {
		System.out.println(getRandomString(6));
	}
	/**
	 * 返回SHA-1的散列值
	 * @param string
	 * @return
	 */
	public static String getSHA1String(String string){
		try {
			MessageDigest sha1 = MessageDigest.getInstance("SHA-1");
			return Base64Encoder.encode(sha1.digest(string.getBytes()));
		} catch (Exception e) {
			logger.error(e);
		}
		return null;
	}

	/**
	 * 生成随机数字(短信、邮件校验码)
	 * 
	 * @param length
	 * @return
	 */
	public static String getRandomNo(int length) {
		String str = "0123456789";
		StringBuffer sb = new StringBuffer();
		Random r = new Random();
		int range = str.length();
		for (int i = 0; i < length; i++) {
			sb.append(str.charAt(r.nextInt(range)));
		}
		return sb.toString();
	}

	/**
	 * DES加密
	 * 
	 * @param data-明文
	 * @return 密文
	 * @throws Exception
	 */
	public static String encodeDES(String data) throws Exception {

		KeyGenerator _generator = KeyGenerator.getInstance("DES");
		_generator.init(new SecureRandom("tpaic-ec".getBytes()));
		Key key = _generator.generateKey();
		Cipher cipher = Cipher.getInstance("DES");
		cipher.init(Cipher.ENCRYPT_MODE, key);
		byte[] endata = cipher.doFinal(data.getBytes());
		String endata2 = new BASE64Encoder().encode(endata);
		return endata2;
	}

	/**
	 * DES解密
	 * 
	 * @param endata-密文
	 * @return 明文
	 * @throws Exception
	 */
	public static String decodeDES(String endata) throws Exception {
		KeyGenerator _generator = KeyGenerator.getInstance("DES");
		_generator.init(new SecureRandom("tpaic-ec".getBytes()));
		Key key = _generator.generateKey();
		Cipher cipher = Cipher.getInstance("DES");

		// 用密钥初始化Cipher对象
		cipher.init(Cipher.DECRYPT_MODE, key);
		// 执行解密操作
		byte[] bytes = new BASE64Decoder().decodeBuffer(endata);
		byte decryptedData[] = cipher.doFinal(bytes);
		// 然后将解密后的数据转化成原来的类文件。
		return new String(decryptedData);
	}

	/**
	 * 验证手机号码
	 * 
	 * @param phone
	 * @return
	 */
	public static boolean validatePhonenumber(String phone) {
		return Pattern.matches("^[1]{1}[358]{1}[0-9]{9}$", phone);
	}

	/**
	 * 验证邮箱地址
	 * 
	 * @param email
	 * @return
	 */
	public static boolean validateEmail(String email) {
		return Pattern.matches("^[_a-z0-9-]+([.][_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$", email);
	}

	/**
	 * 根据code获取基础参数设置
	 * 
	 * @param email
	 * @return Parameter域对象
	 * @throws DispatchServiceException
	 */
	public static String getParameterByCode(String paraCode, Map paraMap) throws DispatchServiceException {
		Parameter parameter = (Parameter) paraMap.get(paraCode);
		return parameter.getParaValue();
	}

	/**
	 * 获取投保单号
	 * 
	 * @param insureTemp
	 * @return
	 */
	public static String getApplyPolicyNo(InsureTemp insureTemp) {
		String applyPolicyNo = "";
		for (int i = 0; i < insureTemp.getTempBaseList().size(); i++) {
			if (((TempBase) insureTemp.getTempBaseList().get(i)).getApplyPolicyNo() != null)
				applyPolicyNo += ((TempBase) insureTemp.getTempBaseList().get(i)).getApplyPolicyNo() + "  ";
		}

		return applyPolicyNo;
	}

	/**
	 * 获取保险产品名称
	 * 
	 * @param insureTemp
	 * @return
	 */
	public static String getProductName(List tempBaseList, Collection planList) {
		String productName = "";
		String planCode;
		for (int i = 0; i < tempBaseList.size(); i++) {
			if (((TempBase) tempBaseList.get(i)) != null) {
				TempBase tempBase= ((TempBase) tempBaseList.get(i));
				planCode = tempBase.getPlanCode();
				String planDefineId=tempBase.getPlanDefineId();
				if("".equals(productName)){
				    productName += getProductNameByCode(planDefineId,planCode, planList);
				}else{
				    productName +=","+getProductNameByCode(planDefineId,planCode, planList);
				}
			}
		}

		return productName;
	}

	/**
	 * 获取网上产品名称
	 * 
	 * @param planCode
	 * @return
	 */
	public static String getProductNameByCode(String planDefineId,String planCode, Collection planList) {
		String planName = planCode;
		if (StringUtil.isEmptyString(planName)) {
			return "";
		}

		Iterator it = planList.iterator();
		NetPlanDefine planDefine;
		while (it.hasNext()) {
			planDefine = (NetPlanDefine) it.next();
			if (planDefineId.equals(planDefine.getPlanDefineId())) {
				planName = planDefine.getPlanNetName();
				break;
			}
		}

		return planName;
	}

}



<%@ page contentType="text/html; charset=GBK" %>
<%@ include file="/WEB-INF/jsp/common/tag_include.jsp" %>
<%
response.reset(); 
response.setContentType("application/x-download; charset=GBK"); 
response.setHeader("Content-disposition","attachment; filename="+new String("电子商务日报表".getBytes("GB2312"), "ISO_8859_1") +".xls");
//以上这行设定传送到前端浏览器时的档名为*.xls
%>
<table id="resultList" width="100%" border="1" cellpadding="0" cellspacing="0">
	<tr>
		<th rowspan="2">IP浏览城市</th>
	    <th rowspan="2">IP浏览页面数</th>
	    <th colspan="2">车险</th>
	    <th colspan="2">非车险</th>
	    <th colspan="3">其他</th>
	</tr>
	<tr>
	    <th>报价量</th>
	    <th>签单保费</th>
	    <th>签单数</th>
	    <th>签单保费</th>
	    <th>保单验真次数</th>
	    <th>赔案查询次数</th>
	    <th>投保预约次数</th>
	  </tr>
</table>




package web.basic.util;

import java.sql.SQLException;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import web.basic.dto.MyTablesButtonDto;
import web.basic.pojo.Auditing;
import web.basic.pojo.Button;
import web.basic.pojo.DefaultValue;
import web.basic.pojo.FilterOfTextType;
import web.basic.pojo.MyTable;
import web.basic.pojo.Process;
import web.basic.pojo.ReportForms;
import web.basic.pojo.SortTable;
import web.basic.pojo.TableColumn;
import web.basic.pojo.TableColumnConstraint;
import web.basic.pojo.TextColumnType;
import web.basic.pojo.ValueEpeat;
import web.basic.pojo.Warn;


/**
 * 缓存管理器
 * @author ex_yixb
 *
 */
/**
 * @author ex_yixb
 *
 */
public class CacheManage {
	private static CacheManage cacheManage=new CacheManage();
	private  int date=60*60*1000;  //缓存时间
	private Map<String,Date>  cacheDate=Collections.synchronizedMap(new HashMap<String,Date>());  //缓存的时间Map
	private Map<String,Object>  cacheData = Collections.synchronizedMap(new HashMap<String,Object>()); //缓存的数据
	
	/**
	 * 刷新所有缓存
	 */
	public void flushAll(){
		cacheDate.clear();
	}
	
	/**
	 * 刷新一个缓存
	 */
	public void flushKey(String key){
		cacheDate.remove(key);
	}
	
	/**
	 * 清空缓存
	 */
	public void clear(){
		cacheDate.clear();
		cacheData.clear();
	}
	
	/**
	 * 判断缓存是否到期
	 * @return
	 */
	private boolean ifCacheDateMature(String key){
		Date date = cacheDate.get(key);
		if(date==null){
			return true;
		}
		long time =date.getTime()+this.date;
		Date curr = new Date();
		long currTime = curr.getTime();
		if(time<currTime){
			return true;
		}
		return false;
	}

	/**
	 * 得到缓存对象
	 * @return
	 */
	public static CacheManage getCacheManage() {
		return cacheManage;
	}
	
	
	
	/**
	 * 得到当前表中所有的列
	 * @return
	 * @throws SQLException 
	 */
	public List<TableColumn> getCurrTableAllColumns(Integer myTableId) throws SQLException{
		boolean bool=ifCacheDateMature(Constants.CURR_TABLE_ALL_COLUMN);
		if(!bool){ // 未到期
			Object object = cacheData.get(Constants.CURR_TABLE_ALL_COLUMN);
		     if(object!=null){
		    	 return (List) object;
		     }
		}
		//到期
		List<TableColumn> list = IbatisSmartDao.queryForList("ec.tableColumn.queryTableColumn",myTableId);
		if(myTableId!=null){
			cacheData.put(Constants.CURR_TABLE_ALL_COLUMN,list);
			cacheDate.put(Constants.CURR_TABLE_ALL_COLUMN,new Date());
		}
		return list;
	}
	
	/**
	 * 得到当前表
	 * @return
	 * @throws SQLException 
	 */
	public MyTable getCurrTable(Integer myTableId) throws SQLException{
		boolean bool=ifCacheDateMature(Constants.CURR_TABLE);
		if(!bool){ // 未到期
			MyTable object = (MyTable) cacheData.get(Constants.CURR_TABLE);
		     if(object!=null && object.getId()==myTableId && myTableId>0){
		    	 return  object;
		     }
		}
		//到期
		Object obj = IbatisSmartDao.queryForObject("ec.myTable.queryObj.id",myTableId);
		if(myTableId!=null && myTableId>0){
			cacheData.put(Constants.CURR_TABLE,obj);
			cacheDate.put(Constants.CURR_TABLE,new Date());
		}
		return (MyTable) obj;
	}
	
	/**
	 * 得到当前表所有的Text列
	 * @return
	 * @throws SQLException 
	 */
	public TextColumnType getCurrTableAllTextColumn(Integer columnId) throws SQLException{
		boolean bool=ifCacheDateMature(Constants.CURR_TABLE_ALL_TEXT_COLUMN);
		if(!bool){ // 未到期
			Map<Integer,TextColumnType> map= (Map<Integer, TextColumnType>) cacheData.get(Constants.CURR_TABLE_ALL_TEXT_COLUMN);
		     if(map!=null){
		    	 TextColumnType text=(TextColumnType) map.get(columnId);
		    	 if(text==null){
		    		  text=(TextColumnType) IbatisSmartDao.queryForObject("ec.textColumnType.queryTextColumnObj",columnId);
		    		  text.setFilterOfTextType((FilterOfTextType) IbatisSmartDao.queryForObject("ec.filterOfTextType.queryFilterObj.columnTypeId",text.getId()));
		    		  text.setValueEpeat((ValueEpeat) IbatisSmartDao.queryForObject("ec.valueEpeat.queryValueEpeat.textColumnTypeId",text.getId()));
	        		   text.setWarn((Warn) IbatisSmartDao.queryForObject("ec.warn.queryObj.columnId",columnId));
	    		       text.setDefaultValue((DefaultValue) IbatisSmartDao.queryForObject("ec.defaultValue.queryObj.columnId",columnId));
        			  text.setAuditing((Auditing) IbatisSmartDao.queryForObject("ec.auditing.queryObj.tableColumnId",columnId));
		    		text.setTableColumnConstraint((TableColumnConstraint) IbatisSmartDao.queryForObject("ec.tableColumnConstraint.queryObj.columnId",columnId));
		    		text.setProcess((Process) IbatisSmartDao.queryForObject("ec.process.queryProcNo",text.getId()));
	    		  map.put(columnId, text);
		    	 }
		    	 return text;
		     }
		}
		//到期
		HashMap<Integer,TextColumnType> map = new HashMap<Integer,TextColumnType>();
		TextColumnType text=(TextColumnType) IbatisSmartDao.queryForObject("ec.textColumnType.queryTextColumnObj",columnId);
		text.setFilterOfTextType((FilterOfTextType) IbatisSmartDao.queryForObject("ec.filterOfTextType.queryFilterObj.columnTypeId",text.getId()));
		text.setValueEpeat((ValueEpeat) IbatisSmartDao.queryForObject("ec.valueEpeat.queryValueEpeat.textColumnTypeId",text.getId()));
		   text.setWarn((Warn) IbatisSmartDao.queryForObject("ec.warn.queryObj.columnId",columnId));
	       text.setDefaultValue((DefaultValue) IbatisSmartDao.queryForObject("ec.defaultValue.queryObj.columnId",columnId));
		  text.setAuditing((Auditing) IbatisSmartDao.queryForObject("ec.auditing.queryObj.tableColumnId",columnId));
		text.setTableColumnConstraint((TableColumnConstraint) IbatisSmartDao.queryForObject("ec.tableColumnConstraint.queryObj.columnId",columnId));
		text.setProcess((Process) IbatisSmartDao.queryForObject("ec.process.queryProcNo",text.getId()));
		map.put(columnId, text);
		if(columnId!=null){
			cacheData.put(Constants.CURR_TABLE_ALL_TEXT_COLUMN,map);
			cacheDate.put(Constants.CURR_TABLE_ALL_TEXT_COLUMN,new Date());
		}
		return text;
	}
	
	/**
	 * 清空当前表所有的Text列
	 */
	public void clearCurrTableAllTextColumn(Integer columnId) throws SQLException{
		Map<Integer,TextColumnType> map= (Map<Integer, TextColumnType>) cacheData.get(Constants.CURR_TABLE_ALL_TEXT_COLUMN);
		if(map!=null){
			map.remove(columnId);
		}
	}
	
	/**
	 *得到类别表 
	 */
	public SortTable getCacheSortTable(Integer sortTableId) throws SQLException{
		boolean bool=ifCacheDateMature(Constants.SORT_TABLE_ALL);
		if(!bool){ // 未到期
			Map<Integer,SortTable> map= (Map<Integer, SortTable>) cacheData.get(Constants.SORT_TABLE_ALL);
		     if(map!=null){
		    	 SortTable sortTable=(SortTable) map.get(sortTableId);
		    	 if(sortTable==null){
		    		  sortTable=(SortTable) IbatisSmartDao.queryForObject("ec.sortTable.querySortTableNo",sortTableId);
		    		  map.put(sortTableId, sortTable);
		    	 }
		    	 return sortTable;
		     }
		}
		//到期
		HashMap<Integer,SortTable> map = new HashMap<Integer,SortTable>();
		SortTable sortTable=(SortTable) IbatisSmartDao.queryForObject("ec.sortTable.querySortTableNo",sortTableId);
		map.put(sortTableId, sortTable);
		if(sortTableId!=null){
			cacheData.put(Constants.SORT_TABLE_ALL,map);
			cacheDate.put(Constants.SORT_TABLE_ALL,new Date());
		}
		return sortTable;
	}
	
	/**
	 * 清空当前类别表
	 */
	public void clearCacheSortTable(Integer sortTableId) throws SQLException{
		Map<Integer,TextColumnType> map= (Map<Integer, TextColumnType>) cacheData.get(Constants.SORT_TABLE_ALL);
		if(map!=null){
			map.remove(sortTableId);
		}
	}
	
	
	/**
	 * 得到所有的表
	 * @throws SQLException 
	 */
	public List<MyTable>  getAllTable() throws SQLException{
		boolean bool=ifCacheDateMature(Constants.ALL_TABLE);
		if(!bool){ // 未到期
			Object object = cacheData.get(Constants.ALL_TABLE);
		     if(object!=null){
		    	 return (List) object;
		     }
		}
		//到期
		List<MyTable> list = IbatisSmartDao.queryForList("ec.myTable.queryAll");
		cacheData.put(Constants.ALL_TABLE,list);
		cacheDate.put(Constants.ALL_TABLE,new Date());
		return list;
	}
	
	/**
	 *得到所有的 Button 
	 * @throws SQLException 
	 */
	public List<Button>  getAllButton() throws SQLException{
		boolean bool=ifCacheDateMature(Constants.ALL_BUTTON);
		if(!bool){ // 未到期
			Object object = cacheData.get(Constants.ALL_BUTTON);
		     if(object!=null){
		    	 return (List) object;
		     }
		}
		//到期
		List<Button> list = IbatisSmartDao.queryForList("ec.button.queryAllButton");
		cacheData.put(Constants.ALL_BUTTON,list);
		cacheDate.put(Constants.ALL_BUTTON,new Date());
		return list;
	}
	
	/**
	 * 得到某一个表所有的Button
	 * @throws SQLException 
	 */
	public List<Button>  getCurrTableAllButton(int myTableId) throws SQLException{
		boolean bool=ifCacheDateMature(Constants.CURR_TABLE_ALL_BUTTON);
		if(!bool){ // 未到期
			Object object = cacheData.get(Constants.CURR_TABLE_ALL_BUTTON);
		     if(object!=null){
		    	 return (List) object;
		     }
		}
		//到期
		List<Button> list = new Vector<Button>();
		List<Button> allButton  = getAllButton();
		List<MyTablesButtonDto>  dtos =  IbatisSmartDao.queryForList("ec.button.queryTableAllButton",myTableId);
		for (Iterator iterator = dtos.iterator(); iterator.hasNext();) {
			MyTablesButtonDto myTablesButtonDto = (MyTablesButtonDto) iterator
					.next();
			Button button =null;
			for (Iterator iterator2 = allButton.iterator(); iterator2.hasNext();) {
				Button button2 = (Button) iterator2.next();
				if(button2.getId()==myTablesButtonDto.getButtonId()){
					button2.setIfshow(myTablesButtonDto.getIfshow());
					button=button2;
					break;
				}
			}
			if(button!=null){
				list.add(button);
			}
		}
		cacheData.put(Constants.CURR_TABLE_ALL_BUTTON,list);
		cacheDate.put(Constants.CURR_TABLE_ALL_BUTTON,new Date());
		return list;
	}
	
	/**
	 *得到所有的 报表 
	 * @throws SQLException 
	 */
	public List<ReportForms>  getAllReportForms() throws SQLException{
		boolean bool=ifCacheDateMature(Constants.ALL_REPORT_FORMS);
		if(!bool){ // 未到期
			Object object = cacheData.get(Constants.ALL_REPORT_FORMS);
		     if(object!=null){
		    	 return (List) object;
		     }
		}
		//到期
		List<ReportForms> list = IbatisSmartDao.queryForList("ec.reportForms.queryAllReportForms");
		cacheData.put(Constants.ALL_REPORT_FORMS,list);
		cacheDate.put(Constants.ALL_REPORT_FORMS,new Date());
		return list;
	}
	
	
	
	
	
	
	
	
	
	
	
	

	
	
}

分享到:
评论

相关推荐

    Java2Pas Java代码转pas代码

    Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...

    Java2Pas(Java代码转换成Delphi代码)

    Java2Pas是一款强大的命令行工具,专为程序员设计,它能有效地将Java源代码(.java文件)转换成Delphi的Pascal源代码(.pas文件)。这一转换过程对于那些希望将现有的Java项目迁移到Delphi平台或者在两个平台之间...

    java2python--java代码转python工具

    Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...

    Java2实用教程.rar

    Java2实用教程 rar 第1章Java入门 1 1Java的诞生 1 2Java的特点 1 3安装Sun公司的SDK 1 4一个Java程序的开发过程 1 5一个简单的Java应用程序的开发过程 1 6一个简单的Java小应用程序 1 7什么是JSP 习题 第2章标识符...

    Java2实用教程第六版课后习题答案答案

    Java2实用教程第六版是Java编程学习的经典教材之一,它为初学者提供了全面而深入的Java语言知识。这本书的课后习题旨在帮助读者巩固所学的概念,提高编程能力。本资源是该教程第六版的课后习题答案,对于正在自学...

    java2cpp java转C++

    java2cpp java转C++ JAVA代码转C++代码的工具。

    Java 2实用教程第4版

    《Java 2实用教程第4版》是由著名计算机教育专家耿祥义编著,由清华大学出版社出版的一本针对Java编程的教程。这本书是为初学者和有一定基础的开发者设计的,旨在深入浅出地讲解Java语言的核心概念和技术,帮助读者...

    Java 2 SE 6 Documentation(帮助文档)

    Java 2 Standard Edition (Java SE) 6 是Java平台的核心版本,主要面向桌面应用和服务器端开发。这个版本包含了丰富的API、工具和技术,为开发者提供了强大的功能和稳定性。"Java 2 SE 6 Documentation"是Java SE 6...

    java使用jacob和java2word工具类操作word

    本文提供关于jacob配置的dll文件,java2word的运行安装文件,jacob和java2word整合jar包 ckedtior网页编辑器需要用的jar,以及使用整合后的jar对word进行插入图片、带格式文字段落、和导出word功能源码

    java2word

    安装版java2word 支持java对word操作,简单方便,关键类document

    DELPHI XE7 JAVA 转换工具java to PAS

    简便方法搞定第三方SDK的...EMB给出的方法是用Java2OP.exe工具,这是一个命令行程序,使用方法详见: http://docwiki.embarcadero.com/RADStudio/XE7/en/Java2OP.exe,_the_Native_Bridge_File_Generator_for_Android

    JAVA_API1.6文档(中文)

    本文档是 Java 2 Platform Standard Edition 6.0 的 API 规范。 请参见: 描述 Java 2 Platform 软件包 java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含...

    Inside Java2 Platform Security 2nd Edition

    Java Security Architecture API Design Implementation

    Java 2 Primer Plus 中文版.pdf

    Java 2 Primer Plus 中文版.pdf,此资源来自网上经本人转换为PDF格式

    WSDL2Java工具包

    2、解压之后,编辑(包名,输出路径,wsdl)参数并运行WSDL2Java(URL).bat或者WSDL2Java(file).bat后,将在source中生成WebService客户端代码。 3、直接使用生成的代码调用WebService服务即可。

    国密SM2算法包(JAVA)

    JAVA的国密SM2算法包

    SM2加密解密java代码完整示例

    国产加密算法SM2加密解密java代码完整示例。里面有加密解密的示例,生成秘钥的示例,本人亲测有效。默认maven环境编译。若无maven环境,里面也上传了相关依赖jar包。

    java转js工具

    - 从提供的文件名来看,"java2javascript"可能是一个特定的Java到JavaScript转换工具的名称。它可能包含源代码、配置文件或使用指南,帮助用户进行转换操作。 - 使用此类工具通常需要了解其输入和输出格式,以及...

    JAVA编写的绘图程序(内附源码)

    用JAVA编写的绘图程序,使用JAVA 2D API 提供源代码下载 JDK版本 1.4.x 功能简介: 支持存储,格式为XML,并支持颜色信息的存取,有导出为图片功能 支持多个组件选择:CTRL选择(或取消)和拉框...

    JAVA2 核心技术 卷II:高级特性 pdf

    JAVA2 核心技术 卷II 高级特性 pdf,非常好.

Global site tag (gtag.js) - Google Analytics