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包

MVC模式-----struts2框架的更多相关文章

  1. MVC模式-----struts2框架(2)

    MVC模式-----struts2框架 第一个struts2程序 struts2框架是通过一个过滤器将struts2集成到Web应用程序中的,这个过滤器的对象是StrutsprepareAndExec ...

  2. iOS通用的MVC模式项目框架MobileProject

    最近项目比较不赶的情况下,决定把一些通用.常用的内容集成在一个项目框架中,意在新项目中可以快速搭建:其实经过几个项目后,总是有一些重复的创建工作,可以使用本项目的内容直接进行开发:采用的是MVC的分层 ...

  3. MVC模式tp框架四中路由形式

    ①基本get形式 http://网址/index.php?m=分组&c=控制器&a=操作方法 该方法是最底层的get形式,传统的传递参数方式,不安全. ②pathinfo路径形式[默认 ...

  4. Struts2框架基础

    Struts2框架基础 1.Java的框架 1.1.框架简介 在大型项目开发过程中,经常会使用到一些框架,这样做好的好处是能够提高工作效率,在java中最常用的的框架就是SSH,这其实是三个框架的简称 ...

  5. 实现struts2框架

    Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages .Servlet.标签库以及面向对象的技术水准.最初的 ...

  6. 从零打造在线网盘系统之Struts2框架配置全解析

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  7. 什么是MVC模式?   

    MVC (Model View Controller) 是一个设计模式,使用MVC应用程序被分成三个核心部件:模型.视图.控制器.它们各自处理自己的任务.M是指数据模型,V是指用户界面,C则是控制器. ...

  8. struts2的MVC模式

    MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率. 在MVC模式中,应用程序被划分成了模型(Model).视 ...

  9. 第九十七天请假 PHP TP框架 MVC模式

    MVC : M->Model 模型(数据层)     V->View 视图(视图层)  C->Controller 控制器(逻辑层)            M : 操作数据(连接数据 ...

随机推荐

  1. 史上最完整的MySQL注入

    原文作者: Insider 免责声明:本教程仅用于教育目的,以保护您自己的SQL注释代码. 在阅读本教程后,您必须对任何行动承担全部责任. 0x00 ~ 背景 这篇文章题目为“为新手完成MySQL注入 ...

  2. 【mysql注入】mysql注入点的技巧整合利用

    [mysql注入]mysql注入点的技巧整合利用 本文转自:i春秋社区 前言: 渗透测试所遇的情况瞬息万变,以不变应万变无谓是经验与技巧的整合 简介: 如下 mysql注入点如果权限较高的话,再知道w ...

  3. Java开发微服务为什么一定要选spring cloud?

    来自:网易乐得技术团队,作者:董添 李秉谦 现如今微服务架构十分流行,而采用微服务构建系统也会带来更清晰的业务划分和可扩展性.同时,支持微服务的技术栈也是多种多样的,本系列文章主要介绍这些技术中的翘楚 ...

  4. Java 多线程之悲观锁与乐观锁

    一.悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源 ...

  5. Spring boot 内置tomcat禁止不安全HTTP方法

    Spring boot 内置tomcat禁止不安全HTTP方法 在tomcat的web.xml中可以配置如下内容,让tomcat禁止不安全的HTTP方法 <security-constraint ...

  6. Spark基础-scala学习(五、集合)

    集合 scala的集合体系结构 List LinkedList Set 集合的函数式编程 函数式编程综合案例:统计多个文本内的单词总数 scala的集合体系结构 scala中的集合体系主要包括:Ite ...

  7. rabbitmq系统学习(三)集群架构

    RabbitMQ集群架构模式 主备模式 实现RabbitMQ的高可用集群,一般在并发和数据量不高的情况下,这种模型非常的好用且简单.主备模式也称为Warren模式 HaProxy配置 listen r ...

  8. 在Java里>、>>、>>>的含义

    在java中: >表示大于,如:if(a>b)...结果是boolean类型 >>表示右移,如:int i=15; i>>2的结果是3,移出的部分将被抛弃. 转为二 ...

  9. [原创]k8exe2bat任意文件转Bat工具(WebShell无法上传EXE解决方案)

    http://qqhack8.blog.163.com/blog/static/114147985201126105626755/ 这是我2011年的东西了,当时用此方法可免杀很多马,至今依然有很大的 ...

  10. Nginx是什么?Nginx介绍及Nginx的优点

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X", 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP ...