日期:2014-05-16 浏览次数:20602 次
对spring的接触已经挺常时间了,但是一直只是停留在会用的阶段,也感觉不出自己用的是否正确,于是决定对它提供的几个sample进行一下深入点的分析,希望以此来加深对spring这个框架的认识。
首当其冲的就是imagedb这个sample:
?
imagedb这个实例主要实现功能:
我们可以看它的readme得知
1.通过spring的LobHandler来处理Clob和Blob
2.通过spring的NativeJdbcExtractor从数据库连接池中获得本地链接
3.通过spring的MultipartResolver从http上传文件
4.使用了Velocity做为spring web MVC的显示模板
一、准备工作
1.安装jdk环境,设置JAVA_HOME环境变量,我用的jdk1.5.0_14(1.5+的都是可以的)
地址:http://java.sun.com/javase/downloads/index_jdk5.jsp
2.IDE,用的eclipse:wtp-all-in-one-sdk-R-2.0.1-20070926042742-win32.zip
以前一直用myeclipse插件,后来发现对它依赖太大于是就放弃了
地址:http://archive.eclipse.org/webtools/downloads/drops/R2.0/R-2.0.1-20070926042742/
3.springframework2.5.1:下载with-dependencies版,这个版才有依赖包
地址:http://sourceforge.net/project/showfiles.php?group_id=73357&package_id=173644&release_id=565295
4.tomcat6.0.16:
地址:http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.zip
5.mysql5.0
地址:http://dev.mysql.com/downloads/mysql/5.0.html#downloads
使用mysql的jdbc驱动是:mysql-connector-java-5.0.8-bin.jar
地址:http://dev.mysql.com/downloads/connector/j/5.0.html
二、配置过程
?
?
首先我们配置数据库
安装mysql的过程就不说了
我们用MySQL Administrator登陆
在catalogs中新建一个imagedb的schema
并在其中建表imagedb
我们可以根据sample-->imagedb-->db中的mysql-schema.txt来建表
建表结果figure-0如下:
figure-0
其中content字段设成longblob而不是blob类型,因为在mysql里blob类型的大小是有限制只有65K
如果我们上传的图片过大就会报
com.mysql.jdbc.MysqlDataTruncation:
Data truncation: Data too long for column 'content' at row 1
错误
具体限制可以参考http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html
?
打开eclipse-->新建项目-->WEB-->Dynamic Web Project
输入项目名imagedb选择完成
出现figure-1界面:
figure-1
?
然后打开spring-framework-2.5.1-->sample-->imagedb
将src目录下的整个org目录copy到imagedb项目的src目录下
将war目录下的所有文件copy到imagedb项目的WebContent目录下
结果如figure-2
figure-2
?
?
由于没有引入相应的jar包,所以有很多红叉叉
下面一步我们引入相关jar,主要有以下一些:
activation.jar,c3p0-0.9.1.2.jar,commons-collections.jar,commons-fileupload.jar,commons-io.jar,commons-lang.jar,commons-logging.jar,freemarker.jar,jta.jar,mail.jar,quartz-all-1.6.0.jar,spring-webmvc.jar,spring.jar,velocity-1.5.jar
以上这些包都可以在spring-framework-2.5.1-->lib目录下搜到
spring-webmvc.jar,spring.jar从spring-framework-2.5.1-->dist和里面的modules中找
将这些jar包复制并粘贴到eclipse项目的web-inf-->lib目录下,eclipse就会自动将这些jar加载
另外还需要加入我们的mysql驱动,mysql-connector-java-5.0.8-bin.jar
同时最好加一个log4j来做日志,我直接从lib包里找了log4j-1.2.14.jar
并在src目录下建一个叫log4j.properties的文件,内容如下(这样就可以在console中查看debug信息了)
log4j.rootLogger=debug, Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d{HH:mm:ss MM/dd} %-5p (%c{1}:%L) : %m%n
?
结果如下figure-3:
figure-3
最后还需要配置jdbc.properties这个文件
将你的mysql的用户和密码配上
这样就算配置完成
?
三、发布应用
?
右击imagedb项目-->Run As -->Run On Server
选apache-->Tomcat v6.0 Server点下一步
然后就可以配置Tomcat所在路径,以及你所用的JDK
figure-4
再点下一步
发现imagedb的web项目已经在里面了点完成既可