struts 初体验

1. 什么是Struts2
struts2是以WebWork的统筹思想为骨干,吸收了Struts1的一部分有点,建立了合营WebWork和Struts1的MVC框架。

     
一直以来敏捷运动影响着每一个追求卓绝的合营社。敏捷集团是一种新型的商行老板团队格局。敏捷公司指集团可以相比较易于地执行各样事情创新,而且公司履行这几个业务立异的代价和危害是可控的。敏捷公司就是将柔性的先进创造技术,熟稔明白生产技术、有学问的劳引力,
以及推进集团中间和公司之间的灵活管理三者合一在联名,对变幻不测的市集机会作出迅猛、有效的响应。敏捷公司强调人组织技术的有机结。通过那三者的紧凑结合,敏捷企业才只怕发挥最佳的全体效益。让我们看一下Lennart
Francke
Göran
Nilsson
提议的短平快公司宣言:

1.1 WebWork: 强调连串里头的松耦合,使用拦截器来贯彻控制。
不依靠于web容器,
从而消除了框架对ServletAPI的严密耦合,使得测试特别有益。同时,在展现层协理越来越多的视图技术,开发更灵活。

高效集团宣言

图片 1

      
回顾大家行业那多少个大人物集团,再回看本人所在的集团只怕创立的商店,咱们还差什么?
当公司现已达标急迅集团,敏捷开发已不成难点,渗透到工作流程中各种环节。
      
敏捷集团最后的靶子就是驱动集团在持续转变、不或然预测的条件下,增强竞争能力,从而兴旺发展。

后日先到这时候,希望对您在系统架构设计与评估,团队管理, 项目管理,
产品管理,团队建设 有参照功效 , 您或者感兴趣的稿子:
网络电商购物车架构衍变案例
互连网业务场景下消息队列架构
互连网连忙研发公司管理形成之一
音讯系统架构设计演进
互联网电商搜索架构衍变之一
集团新闻化与软件工程的迷思
店铺项目化管理介绍
软件项目中标之要素
人际交换风格介绍一
精益IT协会与分享式领导
学习型协会与公司
商店更新知识与等级观念
团队目的与个人目的
初创公司人才招聘与治本
美貌公司环境与商户文化
商行文化、团队文化与学识共享
高功效的公司建设
品种管理挂钩安顿
创设高速的研发与自动化运营
某大型电商云平台实践
网络数据库架构设计思路
IT基础架构规划方案一(互联网种类规划)
餐饮行业消除方案之客户分析流程
餐饮行业化解方案之购买销售战略制定与实践流程
餐饮行业化解方案之业务设计流程
供应链需要调研CheckList
公司应用之性质实时度量系统演变

如有想驾驭更加多软件设计与架构, 系统IT,集团音信化, 团队管理
资讯,请关心本身的微信订阅号:

图片 2

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归小编和博客园共有,欢迎转发,但未经作者同意必须保留此段声明,且在小说页面分明地点给出原文连接,否则保留追究法律权利的责任。
该小说也还要披露在自小编的独立博客中-Petter Liu
Blog

2. struts的优缺点
【优点】
2.1. 兑现MVC形式,结构清晰,使开发者只关怀工作逻辑的完毕.
2.2. 有加上的tag能够用
,Struts的标记库(Taglib),如能灵活选拔,则能大大提升开发作用。此外,就当前境内的JSP开发者而言,除了行使JSP自带的常用标记外,很少开发本人的符号,可能Struts是一个很好的起源。
2.3.
页面导航.页面导航将是现在的贰个迈入趋势,事实上,那样做,使系统的脉络尤其清晰。通过一个配置文件,即可把握总种类统各部分之间的关系,那对于前期的维护有着中度的便宜。越发是当另一批开发者接手这几个类型时,那种优势浮现得尤其显明。
2.4. 提供Exception处理体制 .
2.5. 数目库链接池管理
2.6. 支持I18N
【缺点】
2.1
转到浮现层时,须求配置forward,每三遍转到浮现层,相信一大半都以间接转到jsp,而关联到转会,须要安顿forward,假诺有十三个显示层的jsp,必要配备16次struts,而且还不包括有时候目录、文件变更,必要再行修改forward,注意,每便修改配置之后,需要重新安顿整个项目,而tomcate那样的服务器,还非得另行启航服务器,假使工作转移复杂频仍的系统,那样的操作简易不可想像。今后就是如此,几十广大个人同时在线使用大家的系列,咱们可以设想一下,烦恼有多大。
2.2 Struts
的Action必需是thread-safe格局,它惟有允许三个实例去处理全部的请求。所以action用到的拥有的能源都必不可少统一联合,这么些就挑起了线程安全的难点。
2.3 测试不方便.
Struts的每种Action都同Web层耦合在同步,那样它的测试倚重于Web容器,单元测试也很难落到实处。但是有3个Junit的壮大工具Struts
TestCase可以达成它的单元测试。
2.4 类型的转换.
Struts的FormBean把全部的数目都作为String类型,它可以行使工具Commons-Beanutils举行项目转化。但它的转向都以在Class级别,而且转化的花色是不行配置的。类型转化时的错误新闻重临给用户也是万分狼狈的。
2.5 对Servlet的依靠过强. Struts处理Action时必要求倚重ServletRequest
和ServletResponse,全数它摆脱不了Servlet容器。
2.6
前端表明式语言方面.Struts集成了JSTL,所以它相当重要利用JSTL的表明式语言来获取数据。然而JSTL的表明式语言在Collection和索引属性方面处理显得很弱。

3. Struts2 的获取
http://struts.apache.org

4. Struts2 的应用

  • 4.1 确认环境

1) 在品种中引入Struts2 jar包
struts2-core xwork-core ognl fremarker javassist commons-fileupload
commons-io Commons-lang
2) 修改工程的web.xml文件,配置过滤器

  • 4.2 代码编写

1)
编写开发处理请求的Action类,并落到实处具体的拍卖请求的艺术,该格局需求再次回到1个字符串类型的结果【action类,
extends ActionSupport】
2) 编写struts.xml文件,对Action进行配备【位于src的根目录下】
3) 编写与Action相关的JSP页面

5. Struts2访问servletAPI对象

  • 5.1
    使用ActionContext类获取ServletAPI对象对应的MAP对

【使用Map对象替代ServletAPI中的HttpServletRequest, HttpSession和
ServletContext】

1) 获得request参数 【get()】
ActionContext ac = ActionContext.getContext();
Map request = (Map)ac.get(“request”);

2) 获取对象的HttpSession对象的Map对象【getSession()】
Map session = ActionContext.getContext().getSession();

3) 获取相应的ServletContext对象的Map对象 【getApplication()】
Map app = ActionContext.getContext().getApplication();

以身作则: Action页面保存用户名: session.put(“name”,”values”);
         JSP页面获取用户名: ${sessionScope.name}

  • 5.2 struts2 向Action
    注入ServletAPI对象对应的Map对象

 

  • 5.3 与Servlet
    API耦合的拜访格局

 

6. Struts 2 标签

标签分为两类: UI标签(UI Tag) 和通用标签 (Generic Tag)
<%@taglib uri=”/struts-tags” prefix=”s” %>

6.1 UI标签: 表单标签、非表单标签、Ajax标签
<s:form></s:form> <s:textfield></s:textfield>
……

6.2 通用标签: 条件标签 <s:if> <s:elseif> <s:else>
迭代标签: <s:iterator>

 

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注