户请求时,将执行如下流程. -(1)检索和用户请求匹配的 ActionMapping 实例,如果不存在,就返回请求路径无效信息; -(2)如果 ActionForm 实例不存在,就创建一个 ActionForm 对象,把客户提交的表单数据保存到 ActionForm 对象中; -(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用 ActionForm 的 validate()方法; -(4)如果 ActionForm 的 validate()方法返回 null 或返回一个不包含 ActionMessage 的 ActuibErrors 对象, 就表示表单验证成功; -(5)ActionServlet 根据 ActionMapping 所包含的映射信息决定将请求转发给哪个 Action,如果相应的 Action 实例不存在,就先创建这个实例,然后调用 Action 的 execute()方法; -(6)Action 的 execute()方法返回一个 ActionForward 对象,ActionServlet 在把客户请求转发给 ActionForward 对象指向的 JSP 组件; -(7)ActionForward 对象指向
JSP 组件生成动态网页,返回给客户; 为什么要用: JSP、Servlet、
JavaBean 技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的
系统 非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts 便应运 而生。 基于 Struts 开发的应用由 3 类组件构成:控制器组件、模型组件、视图组件 8、 Struts 的 validate 框架是如何验证的? 框架是如何验证的? 、 在 struts 配置文件中配置具体的错误提示,再在 FormBean 中的 validate()方法具体调用。 9、 说下 Struts 的设计模式 、 MVC 模式: web 应用程序启动时就会加载并初始化 ActionServler。用户提交表单时,一个配置好的 ActionForm 对象被创建,并被填入表单相应的数据
,ActionServler 根据 Struts-config.xml 文件配置好的设置决定是否需要表单验 证, 如果需要就调用 ActionForm 的 Validate ) ( 验证后选择将请求发送到哪个 Action, 如果 Action 不存在, ActionServlet
会先创建这个对象,然后调用 Action 的 execute()方法。Execute()从 ActionForm 对象中获取数据,完成业务逻 辑,返回一个 ActionForward 对象,ActionServlet 再把客户请求转发给 ActionForward 对象指定的 jsp 组件, ActionForward 对象指定的 jsp 生成动态的网页,返回给客户。 单例模式 Factory(工厂模式): 定义一个基类===》实现基类方法(子类通过不同的方法)===》定义一个工厂类(生成子类实例) ===》开发人员调用基类方法 Proxy(代理模式) 10、 spring 工作机制及为什么要用 工作机制及为什么要用? 、
注解: 1.spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理 工作。 2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Controller 4.Controller进行业务逻辑处理后,会返回一个ModelAndView 5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 6.视图对象负责渲染返回给客户端。 为什么用: {AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务 ( 比
如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。 IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反 过来的 JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction) ,每一个对象都是用 其协作对象构造的。因此是由容器管理协作对象(collaborator) 。 Spring 即使一个 AOP 框架, 也是一 IOC 容器。 Spring 最好的地方是它有助于您替换对象。 有了 Sprin