Java 我为什么要学习和使用struts?

Java 我为什么要学习和使用struts?,java,jsp,struts2,velocity,Java,Jsp,Struts2,Velocity,我是一名java开发人员,没有经验,但我对大多数概念都相当熟悉 我最近使用Tomcat/JSP(约30个动态页面)构建了一个网站。我犯了一个新手的错误,在JSP中包含了大量的核心逻辑,使用了“只是一个简单的项目”的合理化 我用艰苦的方式学习。因此,我现在正在使用servlet在google app engine中构建应用程序,并计划使用Velocity使用模型-视图-控制器设计模式来实现它 我也在研究Struts,但以前从未使用过该框架 有人能说服我为什么要将struts合并到这个项目中吗?它真

我是一名java开发人员,没有经验,但我对大多数概念都相当熟悉

我最近使用Tomcat/JSP(约30个动态页面)构建了一个网站。我犯了一个新手的错误,在JSP中包含了大量的核心逻辑,使用了“只是一个简单的项目”的合理化

我用艰苦的方式学习。因此,我现在正在使用servlet在google app engine中构建应用程序,并计划使用Velocity使用模型-视图-控制器设计模式来实现它

我也在研究Struts,但以前从未使用过该框架

有人能说服我为什么要将struts合并到这个项目中吗?它真的会为一两个人的中型项目买很多东西吗


有支撑的额外学习曲线有明显的成本,收益会大于成本吗?或者,速度的使用是否足以分离逻辑?意见?

我会比这个项目看得更长远。正如你们所看到的,你们第一次使用任何技术主要是为了犯错误并从中吸取教训。因此,一旦您完成了第一个项目,它就不太可能成为Struts使用的光辉范例

然而,使用Struts(以及您所指出的主要关注点:JSP复制和粘贴)将是对“适当的”MVC的极好的探索,也就是说,它迫使您以一种特别结构化的方式来做事情,而我碰巧非常欣赏这种方式,我是Struts的忠实粉丝


也就是说,还有其他选择,例如Spring包含SpringMVC以及更多。如果你打算投资克服学习曲线,想想中期内哪种框架对你最有利:例如,你所在领域的雇主倾向于寻找哪种框架?此时,我会选择Spring,我觉得它的发展势头很好,但是Struts在这方面做得非常好。

如果你想学习一个框架,那么我推荐Spring MVC而不是Struts。学习曲线不太陡峭,互联网上有很多Spring资源


一旦您安装了Spring,您将发现您的应用程序更易于维护和支持。您还可以更轻松地添加增强功能,如安全性。

为什么要学习Struts?我的答案是:因为雇主经常需要it知识,尤其是维护旧项目。我没有做任何精确的测量,但我认为在我所在的地区,JSF和Struts最常用于web应用程序开发


Struts是一个非常古老的web框架,使用它编写现代AJAX GUI非常笨拙,因此创建了更好的框架。JSF对我来说不那么笨拙,但也有一些问题。我最喜欢的web框架是Vaadin和GWT,但我不是给你提任何建议-你应该自己做决定。

学习分离逻辑非常好。您可以在不使用Velocity、Struts或任何框架的情况下实现这一点,如果您首先尝试使用最少的帮助,您可能会了解到更多关于实现这种分离所需的信息

学习一个框架(实际上是多个框架)也是值得的,但我个人不会选择Struts作为第一个框架,除非它是你的雇主或潜在雇主使用的框架。如果你的雇主正在使用Struts,我希望是Struts 2,因为Struts 1已经过时了

我最喜欢使用的框架是Wicket,但它与您目前看到的框架相比有了根本性的转变。SpringMVC也绝对值得一看


如果您的雇主已经在使用框架进行Java web开发,请尝试学习实际使用的框架,并请您的同事帮助学习。

首先:不要让名称混淆您:Struts2和Struts是非常不同的框架

第二:从JSP更改为Velocity可能是一个好的决定,也可能是一个坏的决定,但这并不是关键。关键是要摆脱(相当古老的命名法,但仍然有用)。也就是说,将视图层与逻辑层分离。(您可以对视图层使用JSP或Velocity)。
此外,确定视图层只是体系结构的一部分:您仍然必须确定谁将处理请求并生成将发送到视图的数据。最基本的选择是使用普通servlet,但是,同样,最好使用一些框架。对于这一点,Java中有一个。“基于行动的”是其中的一个子集,也许是最容易学习的。其中,最古老的是Struts;如今,最常用于新项目的是Struts2、SpringMVC和Stripes(没有特别的顺序),它们非常相似

非常好的描述性回答+1美元。我希望当你提到Struts时,你实际上是指Struts 2.谢谢。实际上,我已经5年没有使用Struts了,但我有美好的回忆!是的,我也喜欢。Struts很糟糕。如果您想帮自己一个忙,请使用Wicket(基于组件)或SpringMVC(基于操作)。Struts2与Struts非常不同,与Spring MVC非常相似,或者Stripes(基于动作的)Struts 1已经过时了。Struts 2一点也不可怕。