struts

学完struts能拿多高的工资

struts是什么意思

Struts,每一个从那个年代走过来的程序员都耳熟能详,曾经的MVC霸主,没有之一。

Struts1的兴起,让Java后端的工作和前端有了初步的分离,程序员不用在JSP中写逻辑、展现...

后来Struts1的问题越来越明显,WebWork横空出世,大有取而代之的意思;

Webwork2探索了一条与传统Servlet模型不同的解决方案,逐渐被大家熟识和理解,不断发展并得到了广大程序员的认可。它以优秀的设计思想和灵活的实现,吸引了大批的Web层开发人员投入它的 怀抱。

Apache社区与Opensymphony宣布未来的Struts项目将与Webwork2项目合并,并联合推出Struts2。

Struts2在编程模型上完全屏蔽了Servlet,使得Action看起来就像一个Pojo一样,这样程序员无论是开发还是测试,都方便了很多。

随着Spring的流行,Struts2和Spring的整合上面出现了一些不同的声音;Struts有完善的设计,从上面的POJO设计思想来看,Struts2更加遵循面向对象的设计,而Spring出现之后的Service层才是真正业务逻辑的位置,所以Struts2的OOP思想完全是画蛇添足,变成了负担。

SpringMVC是Spring框架自己的MVC框架,与Spring的分工明确,整合也水到渠成。SpringMVC的设计没有OOP的体现,更多的是面向流程的设计思想,但是在设计规范中流出了很多可以扩展的点:Open for extension, closed for modification。

这条重要的设计原则被写在了spring官方的reference中SpringMVC章节的起始段: A key design principle in SpringWeb MVC and in Spring in general is the “Open for extension, closed for modification” principle.

反观Struts2本身,这些年在更新、迭代上也没有进展,可能注定要退出舞台了,所以官方也不在花费心血去维护了。

往上有很多比较SpringMVC和Struts优劣的文章,说的也都比较中肯,但是这些对比都是在Spring的基础上,这个是潜台词,所以请程序员在抛弃Struts2的时候,不要那么嗤之以鼻,最少,保留一份技术人员对曾经霸主的敬意。

如果Struts的动作快一些,也推出类似Spring的IOC容器,也许结果会不一样。

struts漏洞

“8220”是一个长期活跃并且擅长使用漏洞进行攻击并部署挖矿程序的组织。

该组织早期使用Docker镜像传播挖矿木马,后来逐步利用多个漏洞进行攻击,如WebLogic漏洞、Redis未授权访问漏洞、Hadoop Yarn未授权访问漏洞和Apache Struts漏洞等。

在2020年发现该组织开始使用SSH爆破进行横向攻击传播。自Apache Log4j 2远程代码执行漏洞曝光后,该组织利用该漏洞制作漏洞利用脚本进行传播,影响范围广。