struts框架 和spring框架都是做啥用的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts框架 和spring框架都是做啥用的相关的知识,希望对你有一定的参考价值。

Struts是Apache软件组织提供的一项开放源码项目,它为Java Web应用提供了模型-视图-控制器(Model-View- Controller,简称MVC)框架,尤其适用于开发大型可扩展的Web应用。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。 Struts为Web 应用提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务问题上。此外, Struts 框架提供了许多供扩展和定制的地方,应用程序可以方便的扩展框架,来更好的适应用户的实际需求。

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 1 所示。

组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:

核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。
参考技术A struts 和spring框架都是用来开发JavaEE程序的。
简单来说是因为原始的JavaEE (开发网站 ,前台+后台)十分的臃肿,开发十分费力。业务层,控制层,视图层,数据层,交织在一起,牵一而动全身,耦合很高(改动一个业务,需要改动很多代码)。
Struts 框架是一个MVC框架,它把JavaEE开发中的 控制层、视图层、数据层分开了,(解耦合)。多说一句,JavaEE现在流行的框架是SSM,(spring,springMVC,mybatis),springMVC是一个更优的MVC框架。
spring框架,是为了避免硬编码造成的程序耦合,举个例子:如果我们需要调用函数,首先要导包 import ***,new一个对象。这样两个类之间就有了关联。使用spring框架,就不用去new对象了。(怎么调用?需要深度学习了。。)
总结:struts和spring都是为了解耦合,降低耦合度(高内聚,低耦合),从而让JavaEE开发更快,更容易。让程序更容易维护。
个人观点,仅供参考。。。。
参考技术B struts框架是用于整合前端接收前端参数的,spring框架是用于整合hibernate和struts框架,三个框架合在一起叫ssh框架

Symfony2 中的 SECRET 参数是做啥用的?

【中文标题】Symfony2 中的 SECRET 参数是做啥用的?【英文标题】:What is the SECRET parameter in Symfony2 used for?Symfony2 中的 SECRET 参数是做什么用的? 【发布时间】:2016-04-25 12:30:45 【问题描述】:

谁能告诉我 Symfony2 中 parameters.yml 的 SECRET 参数是什么?

【问题讨论】:

没人知道。如果有人知道这将不再是秘密。 【参考方案1】:

它是框架使用的安全相关参数。来自文档:

这是一个对您的应用程序来说应该是唯一的字符串,它通常用于为与安全相关的操作添加更多的熵。其值应为随机选择的一系列字符、数字和符号,建议长度为 32 个字符左右。

Symfony2 使用这个秘密参数来生成 csrf 令牌

您可以在有关secret parameter 的文档中找到更多详细信息和示例。

【讨论】:

链接的站点是一个糟糕的密码生成器。 Symfony 建议包含字母、数字和符号,没有理由将字母限制为 [a-f]。 是的,最好使用freepasswordgenerator.com 或百万网络中的一个来生成密码,并确保检查所有可能的字符(数字、小写字母、大写字母和符号)。 我的评论有点错误,如果您使用符号请记住,例如符号% 具有参数的含义,所以更好不要使用符号如果你想确定没问题。【参考方案2】:

您只需要打开控制台(在 unix/mac/bsd 上)并运行此命令即可获取一些长度为 48 的随机数:

$ sudo apt-get update && sudo apt-get install pwgen
$ pwgen 48 1 -By

这将产生如下内容: bah7oTeixi~to.aFoh~quoh~Yee3eequomae7aib`ie#hoo7

或者你可以使用你的 dev/urandom: $ cat /dev/urandom | strings --bytes 1 | tr -d '\n\t []()"' | head --bytes 48

之后,您可以将其设置为秘密参数的值,而不是 ThisTokenIsNotSecretChangeIt

我也不建议使用http://nux.net/secret,因为长度和密码的字母(a-f0-9+)有限

【讨论】:

以上是关于struts框架 和spring框架都是做啥用的的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2 中的 SECRET 参数是做啥用的?

sqlplus 中的 -s 选项是做啥用的?

spring 标签中的 <form:select path> 是做啥用的?

JdbcDaoSupport 是做啥用的?

mysql里面的东西都是做啥用的

spring是做啥的?怎么用?