最近一直在做C语言那个网站,其实从小学期的课程设计就开始了,“精雕细刻”,磨洋工一直磨到现在。
因为从前台到后台全是我一个人,对传统网站的结构也算是有了些了解。用了hibernate,虽然不是一个sql不用写,但也省去了不少繁琐的增删改查。
现在是正题:
先说一下实体类这类东西,传统的数据库都是关系型数据库,而现在的编程大多都是面向对象编程,数据库里的数据怎么变成类,就存在一个 关系类映射 这个东西。可以在数据库里写存储过程,然后数据层的代码进行封装。另外就是用hibernate这样的东西。这一部分还好说,可是,往往网页上也需要处理实体类这样类似的东西,比如用javascript修饰这些东西,名字写在textbox里,头像放在图片框里,这个也好说,直接在jsp里写出来就行了。如果用AJAX新增好友,比如显示小头像,显示好友名字等信息,我要是能传实体类多好啊,或者都统一,打开网页的时候传递的就是实体类,然后javascript专门负责显示,什么div啊,table啊都是后加的。这样,有得有一次转换类型的过程,为什么数据库不做成面向对象的,岂不省了许多麻烦。
下面关于网页的一些想法。
我感觉网页让我最不爽的一点是,网页是没有状态的,而且它的页面呈现是根据地址来实现的。为了让网页有状态,服务器中有了一个叫 session 的东东,当网页B需要网页A提交上来的临时内容的时候,网页B就从session里找这个,如果超时了还得有超时的对策。关于地址栏,很多时候我们要根据ID来判断用户想看的是什么,?id=3,像这样,可是有些人把ID里胡乱写个数字怎么办啊,我从数据库里就读不到这个了啊,有可能就会引起其他的异常。又不得不在参数上做一些判断,甚至把地址加密。做网页大部分的精力放到了安全、类型转换、数据持久化与异常处理上。
当然现在还有AJAX技术,不用刷新网页,很多问题都解决了,同样不得不提的FLASH 和 APPLET,这种虚拟机“设备”提供了很多web没有的功能,也省去了刚才的很多问题。
可不可以把网页做成这样的,像应用程序一样,只有一个或者几个入口地址,地址不会改变,点击的时候不是到下一个页面,而是当前页面的一些变化,.net有master页面,如果可以做到部分改变,那么也没有master页之说了。网页与服务器保持某种联系,服务器也可以主动发送信息给网页,听起来好像有点儿像FLASH。服务器和页面的数据应该实现某种贯通或者共享,这样无论是前台还是后台都省了好多力气,关于显示的问题,还是刚才说的那样,不是由服务器输出,而是由前台代码组装数据。
越说越让我想起某样东西——网游,网游不就是这样一个东西么。只是,这样的一个web,更需要标准。
WEB从原来的纯文本到 WEB2.0 这样面向服务,HTML、css、javascript 都在发生变化,随着saas的发展和云时代的到来,网页上的应用越来越多,更需要有一个全新的技术,更简便的网页。