zoukankan      html  css  js  c++  java
  • Struts2框架

    1.Struts框架

    servlet/jsp                 b/s

    JSP Model1

    JSP:数据的收集、展示以及大量业务逻辑

    JAVA Bean:DAO数据的封装以及处理

    高内聚,低耦合

    JSP Model2

    M:model(模型)  负责数据的封装,处理(entity,DAO,service)

    V:view(视图)    负责数据的收集,展示(JSP)

    C:controller(控制器)  协调模型与视图(servlet) 

    优势:

    a.实现了模型的复用,除非业务发生改变,负责M只需要写一次。

    b.M与V任何一方发生改变,不会影响另一方

    c.方便测试

    框架:封装了servlet,后台框架

    struts1     webwork(x-work)

    struts2

    衡量框架的标准:

    a.易用性,高

    b.扩展性,高

    c:稳定性,高

    d.侵入性,低

    (侵入性

    这里涉及到一个设计方面的概念,就是耦合性的问题.
    好的(这里好的标准是扩展性强)设计的标准是"高内聚,松耦合",侵入性强指的是耦合太强了.判断的标准就是当引入了这个组件导致其它代码或者设计要做相应的更改以适应新组件.这样的情况我们就认为这个新组件具有侵入性.

    2.使用struts2框架开发一个web应用

    a.新建一个web工程

    b.引入jar包

    c.配置前端控制器(注意,不能忘)--->负责请求分发

    d.配置struts.xml文件

    e.编写业务控制器Action ---》处理分发来的具体逻辑

    3.localhost:8080/structs01/day01/hello.action

    执行过程:

    a.请求先经过前端控制器(FC)

    b.FC根据struts.xml文件的配置信息查找业务控制器

    ---1)先根据/day01(namespace属性的值)确定package

    ---2)再根据hello与package之间的action匹配

    ---3)如果匹配成功,可以根据action标记中的class属性值确定业务控制器类路径

    c.创建业务控制器对象,并且调用execute方法

    d.根据execute方法返回的字符串决定调用哪一个result

    e.根据result之间配置的视图路径,将页面输出

    4.在Action中如何获取表单数据

    方式一:基本类型注入

    在Action中定义与表单name属性值相同的成员变量,并提供get/set方法

    方式二:域模型注入

    将表单中name属性的值封装到实体对象中,将来在Action里面定义该引用类型的变量,提供get/set方法

    5.在页面中如何获取Action中的属性值 

    ${Action中的属性名}

  • 相关阅读:
    Ubuntu12.04 亮度调节和保存
    算法
    Python一些常见问题的解决方法
    数据结构
    C# 运行时编译代码并执行 【转】
    C# 动态添加属性 非原创 有修改
    30天学通Visual C++项目案例开发 下載
    .NET常用Request获取信息
    获取一个目录下所有的文件,包括子目录的
    C++入门到精通_全集下载
  • 原文地址:https://www.cnblogs.com/yingyigongzi/p/9197962.html
Copyright © 2011-2022 走看看