MVC经典框架结构图
来源:互联网 发布:六年级上册数学优化 编辑:程序博客网 时间:2024/05/21 17:34
Struts对Model,View和Controller都提供了对应的组件。
在上图中,ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。
Action,这个类通常有用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。
Model部分
由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。
JavaBean则封装了底层的业务逻辑,包括数据库访问等。
View部分
该部分采用JSP实现。
Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。
Controller组件
Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。
系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。
业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。
为了让Struts起作用,就要让Struts的核心ActionServlet起作用,就是让ActionServlet拦截用户的请求。那么要找web.xml中增加如下配置:(蓝色部分)
web.xml
< ?xml version="1.0" encoding="UTF-8"?>
< web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
< !-- 将Struts的核心控制器配置成标准的Servlet -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
< /servlet>
< !-- 采用模式匹配来配置核心控制器url -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
< /servlet-mapping>
< welcome-file-list>
<welcome-file>index.jsp</welcome-file>
< /welcome-file-list>
< /web-app>
还需要一个struts-config.xml的配置文件,总体基本结构如下
struts-config.xml
< ?xml version="1.0" encoding="UTF-8"?>
< !-- 定义Struts的DTD信息 -->
< !DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
< struts-config>
< !-- 定义Struts的所有ActionForm -->
<data-sources />
< form-beans>
< !-- 依次定义多个ActionForm -->
< /form-beans>
< global-exceptions />
< global-forwards />
< !-- 定义Struts的所有逻辑控制器Action -->
<action-mappings >
< !-- 依次定义多个Action -->
< /action-mappings>
< message-resources parameter="com.yourcompany.struts.ApplicationResources" />
< /struts-config>
- MVC经典框架结构图
- Struts ——MVC经典框架结构图
- java-经典MVC框架Structs
- Spring MVC结构图
- 前端MV*框架之经典MVC
- Linux内核框架结构图
- Hibernate框架知识结构图
- Android框架结构图
- iOS框架结构图
- Px4源码框架结构图
- 集合框架结构图
- 自动化测试框架结构图
- Px4源码框架结构图
- cocoa touch 框架结构图
- PE文件框架结构图
- Px4源码框架结构图
- csla silverlight 框架 结构图 第一版
- spring struts2 ibatis 框架结构图
- Spring中AOP的模拟实现
- 文件
- 当开源遇到禅修——“第八届开源世界开源中国高峰论坛”及“2013开源群英会”有感
- jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
- IOC和AOP的理解
- MVC经典框架结构图
- struts1与struts2本质区别
- struts.enable.DynamicMethodInvocation = true 动态方法调用
- 笔记本Ubuntu系统关闭独显+省电降温设置
- jQuery事件之鼠标事件(转)
- Adapter详解
- Servlet声命周期
- Oracle存储过程基本语法
- iOS 开发实用工具