虽然很小,但也算是自己做的一个项目吧。 这次做的是一个电子相册,说实话,刚开始要做的时候,真的是感觉很模糊,不知道自己应该做些什么,需要实现一些什么功能。有句话说的好,压力就是动力。好长一段时间不知道如何下手,这样的烦恼、枯燥迫使我硬着头皮往下做了。 首先我能想到的也只有增删改查这些基本功能,而后呢,当然就是针对不同角色设置的不同权限和功能逻辑。这样,大概的方向也就确定了。当然,还有一个必不可少的登录界面。 我是一个对美很欣赏而又缺乏创造美的天赋的孩纸,我想做的界面漂亮一些,然而我又不想直接用网上下载的模板来做(毕竟还是想尝试一些创作美的过程),于是我就想啊、想啊……唯一让我感到熟悉的图片界面应该就是QQ空间的相册了(当然除了百度图片)。 于是,我便参考了QQ zone 的登录界面和注册界面的布局和结构,从网上下载了一些比较喜欢的图片,一点一点的调试、整理登录界面的布局和注册界面的效果。 光是这些没有技术含量的活儿,我就耗费了很长时间,我确实很笨拙。汲取了些经验,我有设计了一下主界面。当然这个主界面是不可能按照QQ空间的相册来设计了,,毕竟我做的这个电子相册是功能缩水型的。偶然间,看一篇博客时,看到里面的界面蛮可爱的,于是我便按照需要的布局截了一些图。然后在一点一点的调整布局。 虽然图片方面的搞的差不多了,但是业务逻辑方面还是感觉有些费力。。无奈之时,向小峰师傅讨教了一下。师傅给我了一份Blog 源码。。我分析了一下里面的图片上传功能。因为对框架不了解,只是 struts2 了解了一些,感觉上手还不熟悉,于是我决定用最基础的jsp+servlet+ javaBean 来做。 在上传图片的功能上,我参考Blog 源码,用了smartUpload,可是这个方式好像有个问题很难解决,就是页面中的form表单通过enctype="multipart/form-data"来提交,这就出现了传递数据的编码问题,导致传到后台的中文数据出现乱码。我在网上查了很久,只找到一种笨方法——把页面的编码由“utf-8”改成 GBK ,虽然效果可行,但是感觉这种方法还是很勉强,毕竟会造成项目页面的编码不统一。这个问题先这样解决了,希望日后找到更好的办法。还有就是,有同学告诉我说现在很少是用smartUpload 了,更常用的是common—fileUpload ,这种方式有效解决中文乱码问题。 还有就是在后台中设置的属性,想要在“当前页面”通过提示框alert的形式显示出来,由于在后台直接out.print(“<%alert……% >”)的形式不能实现在“当前页面”的要求,而当前页面含有alert的script 代码段又不能直接接受后台设置的属性,所以可以通过在页面中设置一个hidden来做中间人,接受后台属性,存下来。然后含有alert的script 代码段可以通过getElementById 来获取这个值。如图:
0 c/ F6 O1 m: v
虽然不是什么好方法,但却是挺有效果的。 接下来是图片的操作,包括图片的预览以及图片的删除。这里最主要的技术应该就是分页了。这里我还是参考了Blog 源码。在这里我了解到了真假分页,虽然真分页更好,但是为了图方便,我在这里用了假分页,哈哈。 那,在这里我还学到了通过后台往页面传代码字符串,再在页面打印的方式来制作翻页按钮的方法,如图:
4 w% U9 A3 b) p
; O# Z/ L6 g1 U; \2 x' k3 U
( h- w# ?+ q0 w' h* j/ B
' }; t# J8 n, y/ b. F( f6 y, |' E4 x5 t0 C6 @# P
虽然样子不是很养眼,但是却简单有效,恩恩。。 再之后呢,就是图片浏览功能。。其实这个功能和预览功能差不多,也是通过查出所有图片信息,放入list 中,每翻一页就从list中向下取出一个Photo 对象,然后显示出来。。 再有就是,我在user表中设置了一个level 字段用来区分普通用户和管理员身份,以此来判断需要被赋予的权限。还有呢就是t_user表和t_photo的主外键相关联,以此来为每一幅图片固定对应某一个用户。 解压码:本站网址
/ T. t3 P& ^; o( C9 e |