总结一下以前的工作中遇到的问题1

HH 表示24小时制
hh 表示12小时制

取消注册控件

regsvr32 /u "D:\XXX.ocx"

====================================================================================================
利用MyEclipse从数据库反向生成实体类之Hibernate方式


第一步:


window-->open Perspective-->MyEclipse Java Persistence进行了上面的操作后会出现一个视图
DB Brower:MyEclipse Derby,点击右键新建一个在出现的面板中,driver template中选择MySQL的,
driver name自己写个随便的,Connection URL就写平常的JDBC中的URL,用户密码也是的,
接下来就是add Jars了这个JAR大家很清楚肯定是MYSQL的驱动包了测试下是否可用,可用就点击下一步完成就行了,
这时在视图中会出现你写的driver name的那个图标了,点击图标可以看到数据库中所有的表。


第二步:


选中项目右键-->MyEclipse-->add Hibernate Capabilities 这里我们当然是希望用最新的hibernate3.3的了,
虽然说目前已经有3.5的了,但是工具IDE就支持3.3咱就用吧,
然后如果需要用到在实体类上添加注释的话那么选中紧挨着的add Hibernate Annotations Support
然后下一步选中一个目录存放自动生成hibernate.cfg.xml文件,下一步选中一个DB Driver中我们第一步建立的那个,
然后下一步选中一个目录存放自动生成的HibernateSessionFactory工具类。


第三步:


到DB Brower中那个新建的选中点开到所有表选中并且点击右键
--->Hibernate Reverse Enginnering 选中目录存放将要反转出来的实体类并且勾选中第一个Create POJO<>DB
这个选中add Hibernate mapping..用来在实体类中添加注释映射,选中Update Hibernate configuration..
用来将生成的实体类映射到上一步生成的hibernate.cfg.xml中去,接着再下一步到typeMapping
这里选中Hibernate type类型,再到Id Generator这里,我们可以手动写上guid让它生成,
下面的选中Generate version and timestamp tags用来在有version字样的数据库列生成表的字段时自动加上@version注解,
OK这样下一步到完成。

==================================================================================================
问题:在执行Hibernate的插入和更新记录是出现异常,貌似是不识别别名,应该不支持这一种的格式的HQL,
但是在上一个版本的服务中能正常使用,
解决:问题最终确定为时antlr-2.7.6.jar的问题,原来的jar包为antlr-2.7.5.jar,这个包应该是解析HQL的。
==================================================================================================
2012-04-19
问题:在通过调用URL来执行servlet动作,对数据库进行增删改查时,出现中文信息从客户端传到后台是乱码。
dataProxy = new HttpProxy(GWT.getModuleBaseURL()
+ "GetXXXServlet?operate=3&authName=" + PubJSFunc.urlChinese(authName));
解决:
//对URl中的中文进行编码
public static native String urlChinese(String parameter) /*-{
// return escape(parameter);  //不能正常使用
return encodeURI(encodeURI(parameter));
}-*/;

//后台的处理,对获取的中文参数进行解码
URLDecoder.decode(request.getParameter("authNodeName"), "UTF-8");
==================================================================================================

问题:在配置上Hibernate的WEB项目部署到tomcat上时,出现好多异常,原因是找不到所引用的JAR包
解决:把第三方jar包导入到tomcat目录下的lib下即可。
==================================================================================================
问题:把web service项目发布到tomcat下是,(web service 是集成hibernate的),找不到hibernate的配置文件
解决:把myeclipse下编译的com中的.class文件拷贝到tomcat下的项目目录下的web-info下的classes即可。
==================================================================================================
问题:在生成PKCS12的证书安装文件是报异常,如下:
Key protection  algorithm not found: java.security.KeyStoreException: Certificate chain is not validate
      因为JDK本身不支持PKCS12的KeyStore,
解决:在生成KeyStore实例时,指定用“BC”Provider,
      outputKeyStore = KeyStore.getInstance("PKCS12", "BC");
      问题解决!
注意:java在生成证书库时JKS和PKCS12的步骤是一样的,步骤如下:

PKCS8EncodedKeySpec pksc8KeySpec = new PKCS8EncodedKeySpec(derRSAprivkey);
			//实例化密钥工厂,并制定RSA算法
			KeyFactory keyFactory;
			Key privateKey = null;
			KeyStore outputKeyStore = null;
			CertificateFactory cf = null;
		     1.需要有证书的公钥和私钥,公钥需要生成Certificate
		     2.keyFactory = KeyFactory.getInstance("RSA");
		       privateKey = keyFactory.generatePrivate(pksc8KeySpec);
		     3.outputKeyStore = KeyStore.getInstance("PKCS12", "BC");
			outputKeyStore.load(null, password.toCharArray());
			cf = CertificateFactory.getInstance("x509");
			Certificate[] certChain = new Certificate[2];
			String rsaPubKey = rsaKeyPair.getCpubkey();
			String rsaCert  = 。。。
				byte[] rsaCertDer = Base64.decode(rsaCert);
				InputStream isCert = new DataInputStream(new ByteArrayInputStream(rsaCertDer));
				try {
					certChain[0] = cf.generateCertificate(isCert);
				} catch (CertificateException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
					return false;
				}
				isDeviceCert = new DataInputStream(new ByteArrayInputStream(Base64.decode(rootCertPem)));
				try {
					certChain[1] = cf.generateCertificate(isCert);
				} catch (CertificateException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				outputKeyStore.setKeyEntry("XXX", privateKey, password.toCharArray(), certChain);
				FileOutputStream out3 = new FileOutputStream("C://XXX.pfx");
				outputKeyStore.store(out3, password.toCharArray());


==================================================================================================

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值