1. 什么是MVC? M是指数据模型,V是指用户界面,C是控制器。使用MVC的目的是将M和V实现代码分离,从而使一个程序可以使用不同的表现形式。C存在的目的则是确保M和V同步,一旦M改变,V则同步更新。◆低耦合性。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。有着如下的优势: ### Struts学习笔记 #### 一、MVC架构概述 MVC(Model-View-Controller)是一种广泛应用于软件工程的设计模式,特别是在Web开发领域。它将应用程序分为三个核心部分: - **模型(Model)**:负责存储数据以及业务逻辑处理。模型对象持有数据并知道如何处理数据(例如对数据库的操作或计算)。 - **视图(View)**:负责展示数据。它是用户看到并与之交互的界面。 - **控制器(Controller)**:接受用户的输入并调用模型和视图去完成用户的需求。 使用MVC的主要目的是提高软件的可维护性和灵活性。通过这种方式,应用程序的不同方面可以独立地发展和改进,不会相互干扰。以下是MVC设计模式的一些关键优点: 1. **低耦合性**:模型、视图和控制器之间是解耦的。这意味着可以在不改变其他部分的情况下修改其中任一部分。例如,可以更改视图层而无需重新编译模型和控制器代码。 2. **高重用性和可适用性**:由于模型与视图分离,因此可以轻松地使用不同的视图来展示同一组数据。这不仅限于Web应用,还包括移动应用等其他平台。 3. **较低的生命周期成本**:MVC降低了开发和维护用户接口的复杂度,使得开发更加高效。 4. **快速部署**:开发团队可以根据自己的专长专注于不同的层,加快了整体项目的开发速度。 5. **可维护性**:分离的层次结构让应用更容易维护和修改。 6. **工程化管理**:不同的层拥有各自明确的功能职责,有助于项目管理和代码维护。 #### 二、Struts框架简介 Struts是一个基于MVC架构的开源框架,主要用于Java Web应用开发。它提供了一套完整的解决方案来帮助开发者构建可扩展、可维护的应用程序。Struts框架的核心组件包括ActionServlet(控制器)、Action(业务逻辑)、JSP页面(视图)和JavaBean(模型)。 - **ActionServlet**:负责接收客户端的请求并调度到相应的Action处理。 - **Action**:执行业务逻辑并决定如何响应客户端请求。Action可以返回一个字符串表示下一步应该显示哪个视图页面。 - **JSP页面**:作为视图层,负责显示数据。 - **JavaBean**:作为模型层,用于存储数据。 #### 三、Struts配置与优化 为了更好地管理和组织Struts应用,通常需要对配置文件进行优化。以下是几个实用的技巧: 1. **防止struts配置文件过度膨胀**:通过在`Web.xml`中配置多个配置文件,可以按功能模块划分配置。例如: ```xml <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml,/WEB-INF/register.xml</param-value> </init-param> ``` 2. **使用通配符简化配置**:对于一组相似的路径,可以使用通配符简化配置,如: ```xml <action path="/book*" type="com.tjhn.wap.struts.Book{1}Action" input="/bookConf.jsp" scope="request"> <forward name="success" path="/{1}.jsp"/> </action> ``` 3. **必须配置的参数**:在`struts-config.xml`文件中配置Action时,`path`和`type`是必需的参数,分别指定处理请求的路径和对应的Action类。 4. **数据封装与验证**:通过`name`属性来标识数据封装,通过`validate`属性来指定验证逻辑。 5. **EL表达式**:在JSP中启用EL表达式,可以通过在文件头部添加`<%@page isELIgnored="false" %>`来启用EL表达式的使用。 6. **更改请求后缀**:若想将请求URL的后缀更改为`.htm`,可以通过修改`web.xml`中的`servlet-mapping`来实现。 以上内容总结了MVC架构的基本概念及其在Struts框架中的应用,并提供了一些关于配置和优化的建议,旨在帮助开发者更好地理解和使用Struts框架。
剩余40页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助