刚开始了解JSF,先写点三个重点
JSF has these parts:
-
A set of prefabricated UI components
-
An event-driven programming model
-
A component model that enables third-party developers to supply additional components
由于不喜欢福富的压抑,刚来6天,明天国庆,纪念下,不知道会想在这呆多,一年,,,说漫长也很漫长,说短也很短...
今天碰到这个问题,起先以为是因为字段varchar(2)类型的问题,
后来网上查了下,原来oracle10g的驱动程序有问题,
检查了下程序,是保存相片出问题,photo字段为blob 类型,从一个表查询出来 保存到另外一张里面去,没注意null和空串的问题,本例为hibernate
一张相片:
if(blob!=null)
tbl.setPhoto(blob);
另外一张:
BASE64Decoder base64Decoder = new BASE64Decoder();
if(strPhoto!=null or "".equals(strPhoto)
byte[] bytePhoto = base64Decoder.decodeBuffer(strPhoto);
Blob blobPhoto = Hibernate.createBlob(bytePhoto);
tbl.setPhoto(blobPhoto);
另外一种方法利用jdbc来处理
/**
* 保存操作日志(POJO中的信息)
* @param POJO 在Hibernate配置文件中存在的POJO对象
* @param linkTblno 业务编号
* @param applyType 业务类型
* @param operType 操作类型 D-删除 U-修改 对控制信息:C-撤控 F-复控
* @param process 流程状态信息
* @throws Exception
*/
public void saveLogFormPOJO(Serializable pojo,
String linkTblno,
String applyType,
String operType,
String process) throws Exception{
Log.debug(this.getClass(), "保存操作日志(POJO中的信息)...");
String tableName = pojo.getClass().getName();//表名
int d = tableName.lastIndexOf(".");
tableName = tableName.substring(d+1);
Object object[] = this.getOperresult(pojo);
String operresult = (String)object[0];
InputStream photo = (InputStream)object[1];
this.saveLog(linkTblno, applyType, operType, process, tableName, operresult, photo);
Log.debug(this.getClass(), "保存操作日志完成");
}
详细 见 PoperlogtblDAO
做了一年了,开本贴主要是总结本项目.包括架构,技术,经验和不足.
1.业务系统: delphi+webservers+java(hibernater&weblogic)+oracle10g
2.web系统
3.
注册了好久,都没去动,主要是一直都在忙,忙的一塌糊涂,忙的都迷失了方向,今天,博客开启,将记录点点滴滴......