MVC模式设计的Web层框架初识
struts是个什么东西?
struts
是一个按MVC
模式设计的Web层
框架,其实它就是一个大大的servlet
,这个Servlet
名为ActionServlet
,或是ActionServlet
的子类。我们可以在web.xml
文件中将符合某种特征的所有请求交给这个Servlet
处理,这个Servlet
再参照一个配置文件(通常为/WEB-INF/struts-config.xml)将各个请求分别分配给不同的action去处理。一个扩展知识点:struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀。
ActionServlet
把请求交给action
去处理之前,会将请求参数封装成一个formbean
对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成一个什么样的formbean
对象呢?看配置文件。- 要说明的是,
ActionServlet
把formbean
对象传递给action
的execute
方法之前,可能会调用formbean
的validate
方法进行校验,只有校验通过后才将这个formbean
对象传递给action
的execute
方法,否则,它将返回一个错误页面,这个错误页面由input
属性指定,(看配置文件)作者为什么将这里命名为input
属性,而不是error
属性,我们后面结合实际的运行效果进行分析。 action
执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward
对象来表示的,actionforward
对象通过struts-config.xml
配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml
配置文件为jsp页面设置的逻辑名,这样可以实现action
程序代码与返回的jsp页面名称的解耦。
MVC模式设计的Web层框架初识的更多相关文章
- Web层框架对网站中所有异常的统一解决
一个网站的异常信息作为专业的人士,是不会轻易暴露给用户的,因为那样狠不安全,显得你漏是一回事,只要还是考虑到网站的数据安全问题,下面给大家分享一下一些常见的web层框架是如何处理统一的异常. 之前都是 ...
- Web层框架对网站中所有异常的统一处理
一个网站的异常信息作为专业的人士,是不会轻易暴露给用户的,因为那样狠不安全,显得你漏是一回事,只要还是考虑到网站的数据安全问题,下面给大家分享一下一些常见的web层框架是如何处理统一的异常. 之前都是 ...
- MVC模式在Java Web应用程序中的实例分析
MVC在软件架构中是一种比较重要的架构思想,已经被广泛的应用在实际的java web项目开发中,我们所要了解和掌握的是mvc的架构思想和使用mvc模式来分析和解决问题的方法.当然相同或不同的项目都有各 ...
- java web基础之mvc模式设计(一)--使用httpservlet实现mvc分层设计,DAO层使用的是dbutils实现与数据库的链接
一:1.最终的实现效果图: 2.案例的目录结构: 3.案例中使用到的jar包: 二:案例的链接数据库的层次结构关系:数据库是:mysql ,数据库名字:dsm,表格名字:customers 数据库表格 ...
- 使用Java MVC模式设计一个学生管理系统
最近在做web实验,要求是用jsp+servlet+mysql实现一个学生管理系统,完成对数据库的增删改查. 效果图: 代码: package dao; import java.util.List ...
- 传统的MVC模式
对于MVC模式,我们可以将可视化UI呈现,UI处理逻辑和业务逻辑分别定义在View,Controller,和Model中. 可视化UI呈现->View UI处理逻辑->Controller ...
- Swing程序最佳架构设计—以业务对象为中心的MVC模式(转)
前言: 我打算写一系列关于Swing程序开发的文章.这是由于最近我在做一个Swing产品的开发.长期做JavaEE程序,让我有些麻木了.Swing是设计模式的典范,是一件优雅的艺术品,是一件超越时代的 ...
- Web开源框架大汇总
Struts 项目简介信息 Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的.由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的 ...
- 模型-视图-控制器模式(MVC模式,10种常见体系架构模式之一)
一.简介: 架构模式是一个通用的.可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题.架构模式与软件设计模式类似,但具有更广泛的范围. 模型-视图-控制器模式,也称为MVC模式.是软件 ...
随机推荐
- BZOJ 3963: [WF2011]MachineWorks 斜率优化 + splay动态维护凸包
Description 你是任意性复杂机器公司(Arbitrarily Complex Machines, ACM)的经理,公司使用更加先进的机械设备生产先进的机器.原来的那一台生产机器已经坏了,所以 ...
- 使用PHPExcel操作Excel用法实例分析
本文实例分析了使用PHPExcel操作Excel用法.分享给大家供大家参考.具体分析如下: PHPExcel下载地址:http://www.codeplex.com/PHPExcel http://w ...
- 学习日记4、datagrid多行删除
1.前台展现单选框datagrid代码 $('#List').datagrid({ url: '@Url.Action("GetList")', width: $(window). ...
- python读写excle
我们可以通过python的一些模块进行excle中用例的读取,或者导出数据到excle 目录 1.安装模块 2.读excle 3.写excle 1.安装模块 python中有第三方模块可以进行excl ...
- Jmeter录制web和app脚本
前置: 一.已经安装了jmeter 步骤: 一.打开jmeter,右键测试计划-->添加添加线程组-->线程-->线程组,新建线程组 二.右键线程组-->添加-->逻辑控 ...
- JS原型链详解
最近面试被问到了就决定好好深入理解原型链 对象 要清楚原型链,首先要弄清楚对象: 普通对象 最普通的对象:有__proto__属性(指向其原型链),没有prototype属性. 原型对象(person ...
- python学习第十九天三元运算符与php语言区别
三元运算符是条件语句的简写,常见的条件语句写三行,三元运算符只需要写一行,python三元运算符是怎么写的呢 1,常见条件判断 if a<b: print(a) else: print(b) 2 ...
- break和continue能否跳出函数
int func() { printf("In func, before continue.\n"); // continue; break; printf("In fu ...
- SecureCRT远程ssh linux服务器,利用X11本地图形化wireshark抓包,
平时学习抓包,使用wireshark很方便,直接图形化界面抓包,近期项目中遇到了需要通过SecureCRT ssh到linux服务器上面,还要在抓包, 1.简单使用网络数据包截获分析工具tcpdump ...
- JS面向对象——工厂模型
工厂模型抽象了创建具体对象的过程,以下示例代码说明工厂类型: <!DOCTYPE html> <html> <head> <title>工厂模型< ...