永发信息网

JavaWeb项目到底该使用什么框架

答案:1  悬赏:60  手机版
解决时间 2021-04-02 08:12
JavaWeb项目到底该使用什么框架
最佳答案
每个人都有自己的理解,我肯定有不正确的地方,权且当抛砖引玉
1.有的人认为使用了SSH可以大大提高系统速度,其实不然,我两个月前遇到的一个银行反洗钱项目就使用struts1.2 + jdbc开发,数据库20G左右,同样正常运行,速度还可以,我认为SSH提高的是非视图层的开发效率,减少了维护难度,对于运行速度倒不一定
2.有的人认为只要会SSH的基本组合就可以了,其实不然,它们每个都是很多的版本,有些版本存在本质区别,如struts1和struts2的本质不同,spring2和spring2.5的注解配置,如果一点不考虑,一股脑采用配置文件,最终的结果只会被配置文件淹没,反而提高了维护难度,当然,太多的注解也让人昏迷,所以我认为必须对这些重点差异版本都进行学习,至少使用一会,自己去体会,找到配置文件和注解的平衡,从而提高开发效率,减少维护难度
3.有的人认为hibernate好啊,有了它就万事大吉,其实不然,经过实践证明,它无法对复杂sql进行良好处理,事实上,实际项目中对复杂sql的需求相当高,远比增删改多,比如,我曾经做过的反洗钱系统中,三个大表,即使分表后依然千万级的数据量,并且三表还存在关联,使用hibernate,无法想象,所以我们使用ibatis2来专门处理复杂查询sql,以及批量修改和删除,使用hibernate来处理其他操作
这里给一个SQL,看谁能使用HQL写出来,如果有,我佩服
Sql代码 收藏代码
select datename(year,a.tr_date)+datename(month,a.tr_date)+(case when day(a.tr_date)<10 then '0'+datename(day,a.tr_date) else datename(day,a.tr_date) end ) as trade_date,
datename(year,a.analyse_date)+datename(month,a.analyse_date)+(case when day(a.analyse_date)<10 then '0'+datename(day,a.analyse_date) else datename(day,a.analyse_date) end ) as analyse_date,
datename(year,a.rep_date)+datename(month,a.rep_date)+(case when day(a.rep_date)<10 then '0'+datename(day,a.rep_date) else datename(day,a.rep_date) end ) as rep_date,
a.*,
d.*,
s.file_name
from tbriskshow a, tbriskshow_detail d, tbriskshow_relation r, rep_riskshow_file s
where a.check_flag > 2
and a.sus_flag = 2
and r.id = a.id
and r.tbriskdetail_id = d.id
and a.status = 0
and a.type = 5
and s.riskshow_id = a.id
4.合理的配置文件布局很重要,项目开发才能正常进行,不要以为将所有struts,spring配置信息放置在一个文件中会很爽,如果你感觉到爽,那是因为你做的项目太小,所以全部按某种规范分开放置,使用总配置文件来引用这些配置
5.再说说视图层,当前无外乎是JSP、CSS、JS、EL、JSTL、JSF、Jquery、Ext等技术,再高级点的就是使用JSP自定义标签技术将某些东西封装起成标签表单和表格,供统一调用,其实不管怎么样,由于每个人技术层次不同,到了后面维护必可避免的难搞,所以我结合我自己做过、参与过、看过的项目,认为视图层可以这样做:将所有控件封装(有人可能会说,这得封装多少东西啊,其实主要封装了表单、表格、树形、复选下拉、对话框,就能解决大部分问题),开发人员使用标准XML来配置界面以及其方法,再通过一个标准XML格式和服务器(SSH、存储过程)进行交互,这样,哪怕一个对界面完全没有感觉的人也能做出漂亮且风格完全统一的页面,并且维护相对容易,以下是一个示例
页面配置XML:


2
true
菜单编号
父级编号
菜单名称
是否枝叶
排序号
连接地址



10000011_form_base_conf
10000012



10000011_form_base_conf
10000013
10000014

数据访问XML:







6.最后说说JavaWeb的未来,当然我个人认为的未来,随着Iphone,Ipad,安卓的普及,JavaWeb进军手机是必然的,就像当年PC上用PB,VB做的MIS,CRM等管理类桌面程序被大清洗一样(本人原来也是个PB程序员,后来转的Java,现在还依稀记得datewindow的风采),所以我认为JavaWeb的未来就是手持设备浏览器,服务器端其实应该没有太大变化,主要前端UI部分:多风格、多点触控式完全替代传统的表格、表单都是可能的,现在已经有不少框架出现,JQtouch、Jquery Mobile、Sencha Touch等等,当然这些我自己也还在学习中,谈不出什么,但我相信这就是未来,让我们拭目以待吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
致生命中的最爱,曾经的眼泪流干了
华岳仙掌的介绍
不知不觉走到你门口是什么歌的歌词
秒7龙宫灵力和法修达到多少能带龙三?最好详
qq炫舞光辉下身合成技巧
求在百度提问东南v5水箱风扇转不停的原因是怎
昨日禹门三级浪 今朝平地一声雷 虽然惊散鸳鸯
70万每月减2万做理财0.005点三年有多少钱
财神爷 不开光 就不可以上香吗
扬州维开岗在哪
89÷5=几,竖式计算
佳能复印件复印时卡纸,关机后再启动。前面复
求监狱学园BD高清版。网盘种子都行。
武汉市黄陂区计划生育服务站我想知道这个在什
马云等十五位名人11,12是谁?
推荐资讯
150-75÷25x2简便运算
tiinlab wt201是hifi耳机吗
有人知道这是什么东西吗?不像是脂肪粒哦,看
久久网点击率前三的小说是什么?
中国音响DIY网hifidiy论坛怎么注册
大连钻石湾落户在哪里
办了张透支额度5000元农行苏通卡,之后去加油
奶瓶的毫升怎么计算
2017dnf剑宗现在用太刀还能一站么
今天突然想怀旧玩以前的DNF,进了一个叫秋色DN
笔记本硬盘性能很重要吗?它影响什么?
陕西安康山区适合养殖什么动物或者植物?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?