首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别是现在我们web的前端页面都是使用velocity这样的模板语言进行开发,抛弃了jsp,这样的选择又会给我们java的web开发带来什么样的好处,延着这个问题的思路,我又发现新的疑问,为什么现在很多java企业级开发都会去选择spring框架,spring框架给我们开发的应用带来了什么?这么一想还真是问倒我了,我似乎很难找到一串能让人完全信服的答案,最终我发现,这些我认为我很熟悉很常用的技术,其实还有很多让我陌生不解的地方,这些陌生和不解的地方也正是我是否能更高层次使用它们的关键,今天这篇文章我就来讲讲这些问题,不过struts2,spring这样的技术经过这么多年的积累已经是相当庞大和复杂,它们的面很广,本人虽然已经用了它们多年,还是有很多技术不熟悉和不清楚,所以本文不是全面对我题目做出解答的文章,而是根据我现有知识结构来理解这个问题。

01

对于最近线上服务以及京东等大型互联网公司对java工程师要求的一些思考

当下线上服务为了减少上线,经常搞成配置化,配置化对于版本以及持续集成本身是很大破坏,对于此,我个人持保留态度, 是反对过多东西进行配置化,其实配置化本身没有什么问题,关键是动态对配置进行修改而没有与代码进行版本关联,但越来越多 人迎合潮流与领导。         对于线上服务,存在定时拉取配置平台配置,一定进行相应检查,只要人配置东西就一定会有问题,或者说容易发生问题,线 上服务重启时,需要稳赢一下,呆一会看一下启动是否成功,一定不要一次全部服务批量重启,出了问题,就完全没法处理了,并且 需

08

【大牛经验】优秀Java程序员必备10招

1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 ObjectOriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言的美。光学习 OO 原则的定义用处不大,关键是要学会如何应用这些原则用一种 OO 的方式去设计解决方案。因此,我们应该对对象建模、继承、多态、设计模式有一个很好的认识。 2. 掌握核心 API 如果你不知道语言结构和核心 API,那么即使你在理论知识上再怎么彪悍也是独木难成林。在 Java 中,我们最好能对核心 API,如 java.lang.*、I/O、异常、集合、泛型、线程、JDBC 等有很强的实战经验。要是涉及到 Web 应用的开发,无论你使用的是对 Servlet 有多大关系的框架,JSP 都是必须的。 3. 不断编码 陆游曾说过,“纸上得来终觉浅,绝知此事要躬行”。从理论上想出一个解决方案很简单,但是真到了实施的时候,才会意识到问题有多难。此时,你才会明白编码过程中存在的语言限制,从而设计出最好的实践方案。因此,请勿中断编码。 4. 订阅社区论坛 我们并非踽踽独行者。很多人都和我们一样在研究着相同的技术。只是对某个框架概念做验证是不难的,但是当你将这些概念应用到实际的项目中时,那么各 种各样的问题,各种在官方文档上找不到解决方法的难题就会接踵而来。学习新技术首先要做的是订阅相关的技术社区论坛。无论你遇到的是什么问题,总会有人比 你先碰到过,而且搞不好已经找到了解决方法。 5. 追博客并附上自己的评论 正如我前一点所说的,我们并不孤单。成千上万来自世界各地的技术爱好者将他们的技术见解发表在博客上。在博客上我们可以找到很多相同技术的不同观 点。有人会觉得这是一个强大的技术功能,而有的人可能会觉得这是一个愚蠢的框架,仁者见仁智者见智。所以对于同一种技术你会在博客中听到两种不同的声音。 看到好的博客可以写点自己的看法回复在评论上。 6. 阅读开源框架的源代码 好的开发人员总是知道如何使用框架。但是如果你想成为一个优秀的开发人员,那么你需要研究各种成功和流行的框架源代码,去了解它的内部工作机制和最佳实践形式。这是一种高效的使用框架的方法。 7. 了解相关技术的发展趋势 在开源环境中,软件开发技术总是在不断发展变化。现在所谓的新框架,可能到时候会过时。当前框架上解决不了的问题,可能在新框架上就不再是问题。所以要时刻注意着新事物的诞生和旧事物的消亡。 8. 手头准备好常用的代码片段/实用程序 有时候我们可能需要一遍又一遍地复制粘贴/编写相同的代码片段/配置。所以,保存一些配置片段如 log4.properties、jdbc 配置,以及实用程序如 StringUtils、ReflectionUtils、DBUtils 大有好处。这些东西本身可能并不能让你与众不同,但是你想想看,要是你的合作开发人员希望你帮他从对象集合中获取属性值的列表,而你只需要用 ReflectionUtil 就可以在几分钟内解决,是不是一下子脱颖而出了呢。 9. 了解不同的开发方法 熟悉不同的开发方法,例如 Agile、SCRUM、XP、Waterfall 等等。现在,选择哪种开发方法是由客户说了算的。有的客户偏好 Agile,而有的则更喜欢 Waterfall 模型。所以对各种方法都能有所涉猎绝对让人刮目相看。 10. 将自己对技术的看法记录到文档/博客上 在我们每天的工作中,我们或许会学到新的东西,新的做事方法、实践形式和架构理念。可以将这些想法记录到文档或者博客中,分享给大家。因为你现在解决问题的方法可能正是世界上另一个角落另一个开发人员“寻寻觅觅上下求索”的难题,你的分享将完全不亚于一场久旱的甘霖。

03
领券