Struts2-MVC模式

来源:互联网 发布:淘宝我的评价怎么删除 编辑:程序博客网 时间:2024/05/22 14:28

【前言】

   最近在敲ssh商城的时候留意到Struts的框架,在实践中慢慢了解这种框架其实就是mvc模式的一种体现形式。通过Struts将jsp页面和action的层分离,调节action的数据和jsp页面显示数据的关系,使得数据不依赖页面展示,可以发送给多个页面数据!

【内容】

  【基础篇】

  1.MVC模式
  MVC模式一种架构的体现,不引入新的功能,只是令应用的模型和视图分离,从而达到更好的开发和维护效率。在MVC模式中,应用程序被划分为了Model,View,Controller三个部分。其中model部分包含了应用程序的业务逻辑和业务数据;视图部分封装了应用程序的输出界面;控制器部分负责协调模型和视图,根据用户的请求来选择要调用哪一个模型来处理业务,以及最终由那个视图为用户做出应答。
  2.Struts2的MVC的结构图(其实在理解在Struts的作用,相当于 controller层,但是Struts需要再web.xml中集成导向项目中)
  
  
  3.Strcts2的时序图(在理解Struts的时候刚鹏力荐的时序图,在后面的项目中我将按照这样一条线去简单实践)
  

 【实践篇】

HelloWorld简单的例子,显示欢迎界面。
首先展示我创建成功的demo的界面结构图:
   
  1.创建一个名为一个“helloworld”的webproject的项目

  2.创建一个Struts容器,右击项目选择myescplise=》Add Struts Capabilities,如下图:
    
   然后在出现的页面选择Struts2.1,命名filter-map的名字以及选择过滤URL的模型(我以为就是后缀名的意思)
    
3.在web.xml中设置过滤器类,并且集成struct2,这里的filter-mapping的名字和上面的一致,当然在创建了Struts的容器后自动会在web.xml中集成,不用我们手动设置(当然我这里是以简单的过滤为例!)
  <filter>  <filter-name>struts2</filter-name>  <filter-class>  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  </filter-class>  </filter>  <filter-mapping>  <filter-name>struts2</filter-name>  <url-pattern>*.action</url-pattern>  </filter-mapping> 
     3.编写模块业务层,即mvc中模块,创建一个user.action的包,并且创建一个UserAction的类,在其中编写简单的代码:
package user.action;public class UserAction {public String execute() {return "Success";}}
4.配置Struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts>   <package name="helloworld" extends="struts-default" namespace="/">     <action name="index" class="user.action.UserAction">       <result name="Success">/index.jsp</result>     </action>   </package></struts>  

其中package包的名字是可以随便起的,对程序没有什么影响;
extends继承Struts-default,扩展了struts-default 包组件和拦截器,这是在struts-default.xml中文件中声明的,位于struts2-core.jar 文件的根目录;
action的name表示的是URL地址中输入的action的的名字,起名注意简洁明了;其中class中写明是类的路径。
result中name的名字和我们类中return的字符串的名字要一致,result主要就是返回的结果,这里返回的结果是展示index视图。
  4.编写jsp页面,即mvc中视图(本项目中已经有,所以忽略这一步!)
  5.然后在地址栏中输入http://localhost:8080/helloworld/index.action.其中helloworld为项目的名称。
 
 【总结】
    目前的基础了解的Struts的基本流程,其实Struts还有很多的东西值得去深层的研究,在以后的扩展中去学习!希望对大家有帮助!
    
1 0