缺个commons-io-1.3.2.jar,下载:http://jakarta.apache.org/commons/io/
前几天搞文件上传, Google到了Apache 的 commons-fileupload-1.2.jar 上传组件, 研究了API然后结合Hibernate实现了上传图片
并保存到MySQL数据库. 今天重新写了一遍, 由于不需要保存到数据库了, 就实现了保存成文件格式.
我的这个FileUpload web工程源文件下载如下 : FileUpload.rar . 解压到当前文件夹后直接剪切到 Tomcat 主目录下的 webapps
目录下, 启动 Tomcat 后在浏览器输入 http://localhost:8080/FileUpload/upload.html 查看演示.
我是用Eclipse 开发. 首先, 下载两个开发包: commons-fileupload 和 commons-io(这个在应用commons-fileupload时会用到).
这两个开发包(jar文件) 在我前面提供的FileUpload 工程下的WEB-INF/lib下可以找到, 你也可以到官方下载:
Tags: commons fileupload
1.问题描述:
一个老版本的object "hello.HelloWorld" 序列化然后保存到数据库中了。
我们定义数据库中保存的这个对象为1.0版本。(1.0版本参考hello.HelloWorld1)
此时对老版本的object "hello.HelloWorld"进行了修改,形成了新版本的class(定义为2.0版本)
(2.0版本参考hello.HelloWorld2)
此时从数据库中去取数据,会报告如下错误:
hello.HelloWorld; local class incompatible: stream classdesc serialVersionUID = -5863503448069391657, local class serialVersionUID = 5362978033127103447
一个老版本的object "hello.HelloWorld" 序列化然后保存到数据库中了。
我们定义数据库中保存的这个对象为1.0版本。(1.0版本参考hello.HelloWorld1)
此时对老版本的object "hello.HelloWorld"进行了修改,形成了新版本的class(定义为2.0版本)
(2.0版本参考hello.HelloWorld2)
此时从数据库中去取数据,会报告如下错误:
hello.HelloWorld; local class incompatible: stream classdesc serialVersionUID = -5863503448069391657, local class serialVersionUID = 5362978033127103447
Tags: Serialization UID 序列化
一些java类中为什么需要重载 serialVersionUID 属性。
在Java中,软件的兼容性是一个大问题,尤其在使用到对象串行性的时候,那么在某一个对象已经被串行化了,可是这个对象又被修改后重新部署了,那么在这种情况下,用老软件来读取新文件格式虽然不是什么难事,但是有可能丢失一些信息。
serialVersionUID来解决这些问题,新增的serialVersionUID必须定义成下面这种形式:static final long serialVersionUID=-2805284943658356093L;。其中数字后面加上的L表示这是一个long值。通过这种方式来解决不同的版本之间的串行话问题。
提纲:
━━━━━━━━
一、概述
二、Java串行化
三、引入版本编号
四、结束语
━━━━━━━━
Tags: serialVersionUID 串行 版本 UID
装好了PhpMyadmin以后,却发现输入正确的密码却无法登陆MYSQL
错误MySQL 返回:
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
出现这种问题也只有在MYSQL4.1.x以上版本,用4.0.x就没问题了
原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password ();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。
错误MySQL 返回:
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
出现这种问题也只有在MYSQL4.1.x以上版本,用4.0.x就没问题了
原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password ();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。
Tags: phpMyAdmin