MVC模式-----struts2框架
一、struts MVC模式
1、概述
MVC是模型(model)---视图model(view)---控制器(control)的缩写,是一种用于将逻辑、数据和界面分离的方法。
struts框架是一个基于MVC设计模式的Web应用框架。struts分为struts1和struts2(开源)。
实现MVC设计模式的常用框架有struts、JSF和spring MVC。
2、struts框架实现MVC架构,各层结构功能
(1)Model------JavaBean或EJB实现系统的业务逻辑
主要负责管理应用程序的数据,通过响应视图的请求和控制器的指令来更新数据。
(2)View------stuts框架中,视图层主要分为JSP页面和ActionForm两部分
主要用于应用程序中处理数据的显示。视图层是系统与用户交互的界面,用于接收用户的输入信息,并将处理后的数据显示给用户,但不负责数据的实际处理。
JSP页面是MVC模式中的主要视图组件,承担了页面信息显示或控制器处理结果显示的功能。JavaBean封装了用户提交的表单信息,在JavaBean中没有具体的业务逻辑,只提供所有属性的getter和setter方法,这些属性与用户表单的输入项一一对应。在struts框架中,通过使用JavaForm将用户输入的表单信息提交给控制器。
(3)Controller------由servlet扮演调度者的角色,实现控制器的作用
控制器主要负责接收用户的请求和数据,并判断应该将请求和数据交给哪个模型来处理以及处理后的请求和数据应该调用到哪个视图来显示。
ActionServlet是struts框架的主要控制器,用来处理用户发送过来的所有请求。ActionServlet接收到用户的请求后,根据配置文件struts.xml找到匹配的URL,然后将用户的请求发送给合适的控制器进行处理。
二、struts工作流程
struts框架是一个MVC设计模式的框架,struts2的模型-视图-控制器模式是通过操作(Actions)、拦截器(Interceptors)、值栈(Value Stack)/OGNL、结果(Result)/结果类型和视图技术实现的。体系结构如下:
根据struts2框架中用户的请求执行流程如下:
(1)当客户端发送一个HTTP请求时,需要通过过滤器拦截要处理的请求,这里需要在web.xml文件中配置StrutsPrepareAndExecuuteFilter过滤器。
(2)当StrutsPrepareAndExecuuteFilter过滤器被调用时,Action映射器查询对应的Action对象,然后返回Action对象的代理。Action代理从配置文件中读取Struts2框架的相关配置,然后经过一系列拦截器后,调用指定的Action()对象
(3)当Action处理请求完成后,将响应的处理结果在视图层展示。在视图层通过Map类型的变量或Struts标签显示数据,最后将http请求返回给浏览器,这个过程通过经历过滤器链。
三、struts基本配置
在web应用程序开发中,使用struts框架进行开发前,除了要安装JDK、Tomcat和MyEclipse外,还需要在项目配置中配置struts框架以及导入jar包。
配置以及导入步骤如下:
(1)右击创建好的struts项目,选择Configure Facets-----Install Apache Struts(2.x) Facet
(2)在Install Apache Struts(2.x) Facet对话框中,对struts2的version和runtime默认,然后next
(3)配置struts2的URL pattern,默认选择*.action,然后finish。该步骤的目的是用于指定struts2框架要接收的请求后缀。
(4)查看导入的struts2框架所需要的jar包