JavaWeb项目到底该使用什么框架
发布网友
发布时间:2022-05-09 17:32
我来回答
共1个回答
热心网友
时间:2023-10-10 16:44
每个人都有自己的理解,我肯定有不正确的地方,权且当抛砖引玉
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:
<!-- 菜单操作基础表单 -->
<view id="10000011_form_base_conf">
<column>2</column>
<defButtons>true</defButtons>
<col type="number" field="cdbh" readonly="true" value="-1">菜单编号</col>
<col type="number" field="fjbh" readonly="true" value="-1">父级编号</col>
<col type="input" field="cdmc" must="true">菜单名称</col>
<col type="select" field="sfzy" must="true" option="是:1|否:0">是否枝叶</col>
<col type="number" field="pxh">排序号</col>
<col type="input" field="ljdz" must="true">连接地址</col>
</view>
<!-- 添加菜单 -->
<view id="10000011_form_add_conf">
<ext>10000011_form_base_conf</ext>
<add_func_id>10000012</add_func_id>
</view>
<!-- 修改菜单 -->
<view id="10000011_form_edit_conf">
<ext>10000011_form_base_conf</ext>
<edit_func_id>10000013</edit_func_id>
<delete_func_id>10000014</delete_func_id>
</view>
数据访问XML:
<func id="10000012">
<param name="cdmc" type="varchar" nullValue="" />
<param name="sfzy" type="int" nullValue="0" />
<param name="fjbh" type="int" nullValue="0" />
<param name="pxh" type="int" nullValue="0" />
<param name="ljdz" type="varchar" nullValue="" />
</func>
6.最后说说JavaWeb的未来,当然我个人认为的未来,随着Iphone,Ipad,安卓的普及,JavaWeb进军手机是必然的,就像当年PC上用PB,VB做的MIS,CRM等管理类桌面程序被大清洗一样(本人原来也是个PB程序员,后来转的Java,现在还依稀记得datewindow的风采),所以我认为JavaWeb的未来就是手持设备浏览器,服务器端其实应该没有太大变化,主要前端UI部分:多风格、多点触控式完全替代传统的表格、表单都是可能的,现在已经有不少框架出现,JQtouch、Jquery Mobile、Sencha Touch等等,当然这些我自己也还在学习中,谈不出什么,但我相信这就是未来,让我们拭目以待吧
spring是javaweb开发框架吗?
javaweb现在流行用什么框架?主流JavaWeb开发框架有Spring框架、MyBatis框架、Hibernate框架、Struts2框架等。1、Spring框架 Spring框架是一个轻量级的框架,渗透了JavaEE技术的方方面面。Spring框架是由于软件开发的复杂性而创建的,是一个开源框架。Spring框架的用途不仅限于服务器端的开发,从简单性、可测试...
javaweb开发框架有哪些(javaweb开发框架有哪些)
Java目前主流框架都有哪些(java常用框架有哪些)1、Struts:Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的Spring:Spring是轻量级的J2EE应用程序框架。2、WebWork【Java开源Web开发框架】WebWork是由组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EEWeb框架。Struts【Java开...
javaweb有哪些框架?
Java的框架主要有:SpringMVC、Spring、Mybatis、Dubbo、Maven、RabbitMQ、Log4j、Ehcache、Redis、Shiro。 不过这十个我们不需要都学会,只要学会其中四五个比较常用的就可以。 第一个,SpringMVC。SpringMVC是一种基于Java地实现了WebMVC设计模式的请求驱动类型的轻量级Web框架,主要是帮助我们简化日常的Web开发; 第二个,M...
java最重要的框架?
JSP中可以使用Struts框架提供的一组标签,就像使用HTML标签一样简单,但是可以完成非常复杂的逻辑。从此JSP页面中不需要出现一行包围的Java代码了。 可是所有的运算逻辑都放在Struts的Action里将使得Action类复用度低和逻辑混乱,所以通常人们会把整个Web应用程序分为三层,Struts负责显示层,它调用业务层完成运算逻辑,业务层再...
现在java web主要用什么框架?
一 .Struts框架:struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。1.流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。2.架构:Struts...
javaweb前端框架有哪些?
前端框架是前端框架nodejs是nodejs两个是不同的概念。node.js可以越过php去访问数据库前端不可以。所以你明白? 问题八:JavaWeb学完三大框架SSH之后,还可以学什么东西?对以后工作有点用的。1学点模式设计 2学习数据库设计弗3学习前端的js、ajax、jQuery等 4弄个项目反复练练 问题九:想做javaee开发,但是没有学...
Java目前的主流框架是什么啊?
1)JavaWeb基础框架: Struts2+ Spring + Hibernate。2)JavaWeb经典框架:Spring的强大以及Struts漏洞上的等等问题,演变成为了 Spring + SpringMVC + Hibernate/Mybatis 互联网这块比较常见的是Mybatis。3)快速集成开发Springboot + Mybatis。以上知识和技能如果熟练掌握JavaWeb编程技能,你就能胜任大...
java开发框架有哪些(java开发常用四大框架)
CxforAxis:老项目WebService用的比较多一些;历史问题,还是要了解一下;Quartz:定时服务框架,一般都是单机应用;Elastic-job:分布式定时服务框架,当当出品;log4j、logback:各种日志工具;现在会有一些日志采集分析的框架,比如ELK;Ehcache:缓存框架,也都是用于单机项目;Redis:说道缓存,现在更多的...
JavaWeb项目到底该使用什么框架
1.有的人认为使用了SSH可以大大提高系统速度,其实不然,我两个月前遇到的一个银行反洗钱项目就使用struts1.2 + jdbc开发,数据库20G左右,同样正常运行,速度还可以,我认为SSH提高的是非视图层的开发效率,减少了维护难度,对于运行速度倒不一定 2.有的人认为只要会SSH的基本组合就可以了,其实不然...
怎么来判断Java Web项目所使用的框架~~ 各个框架都有什么特点~~~
如果你熟悉一些框架的话,可以通过使用的JAR来判断。如果你对此并不了解,可以去看一下一些框架,看看看都使用了那些JAR,你的 工程里有没有使用。比较常见的就是struts1,struts2,spring.