MVC设计模式概览
实现MVC模式的应用由三大部分构成
1. 模型(Model):封装应用程序的数据和业务逻辑,POJO(Plain Oid Java Object),就是一个最简单的Java类。
2. 视图(View):实现应用程序信息的现实功能,jsp。
3. 控制器(Controller):接受来自用户的数据,调用模型层,响应对应的视图组件,Servlet、Filter。
之前我们开发JavaWeb程序的时候后,是使用以下方式进行
使用这种方式,当我们获取参数的时候使用servletRequest.getParameter(),获取后做类型转换,有几个参数需要写几次。但是使用Struts2框架,将一个类继承自ActionSupport,在类中填入与表单中一样的名称,就可以一一对应。
如何使用Struts2
1.导入核心架包,打开你下载的Struts2压缩文件,里面有一个apps文件夹,打开struts2-blank.war文件,找到lib文件夹就可以了。2.在web.xml中使用配置过滤器
![](https://img-my.csdn.net/uploads/201608/13/1471082346_7502.png)
注:
1.浏览器发送请求,全部都是经过Struts2的过滤器,这个过滤器作为控制器。
2.当提交数据的时,表单中的数据将被直接映射到一个POJO中。
3.Struts2中的验证逻辑编写在Action中。
4. Struts2中任何一个POJO都可以是一个一个Action类,就算不继承自ActionSupport类,只需要写指定当方法就可以。
5. Struts2在页面使用OGNL来现实各种对象模型,可以不在使用EL和JSTL
struts2的执行流程
登陆例子第一步:浏览器发送请求到Tomcat,根据URL路径,会找到指定的项目,因为Tomcat会部署很多项目。
第二步: Tomcat会读取指定项目中的web.xml文件,我们在web.xml文件中配置了,Struts2的过滤器
StrutsPrepareAndExecuteFilter,也就是说我们的所有请求都会被这个过滤器拦截。
第三步:过滤器会根据你的URL和struts.xml的配置文件来执行指定的Action中的validate()方法和 execute()方法(都是默认执行) 。
注:1.validate()方法是用来做数据验证,execute()方法会调用其他方法,例如用户登陆方法。
2.如果你的URL后没有写.action,则会自动添加 .action。
第四步:会根据execute()方法的返回值字符串,到strust.xml配置文件中的Action中找到result所指定的URL路径来跳转页面。
流程图中核心控制器指的就是StrutsPrepareAndExecuteFilter