⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_struts 原理与应用(一).htm

📁 Struts文章
💻 HTM
📖 第 1 页 / 共 2 页
字号:
            原理与应用(一)</B>&nbsp;&nbsp;&nbsp;&nbsp;icecloud(原作)</TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399><FONT color=#ffffff>关键字</FONT></TD>
          <TD width=500>&nbsp;&nbsp;&nbsp;&nbsp;struts</TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR></TBODY></TABLE><!--文章说明信息结束//-->
      <TABLE width=600 border=0>
        <TBODY>
        <TR>
          <TD align=left><!--内容开始//--><BR>
            <P>本文是俺在公司技术会议上的演讲提纲</P>
            <P>算是一个小教程吧。</P>
            <P><FONT color=#ff0033>Struts 原理与应用 2003年12月1日</FONT></P>
            <P><FONT color=#0000ff>Chapter 1: MVC Architecture</FONT> </P>
            <P>介绍Struts的理论基础,MVC架构</P>
            <P><FONT color=#0033ff>Chapter 2: J2EE N-tiers Structure</FONT></P>
            <P>介绍J2EE的n层结构以及Struts所处的位置</P>
            <P><FONT color=#0033ff>Chapter 3: Struts Configuration</FONT> </P>
            <P>Struts的基本安装说明</P>
            <P><FONT color=#0033ff>Chapter 4: Example 1: Basic 
            Framework</FONT></P>
            <P>一个最简单的例子,用来熟悉Struts的基本用法</P>
            <P><FONT color=#0033ff>Chapter 5: Struts Work Flow</FONT></P>
            <P>介绍Struts的工作流程</P>
            <P><FONT color=#0000ff>Chapter 6: Example 2: Login 
            Application</FONT></P>
            <P>Struts提供的example,简单登陆程序。</P>
            <P><FONT color=#0000ff>Chapter 7: Taglib and Other Skills</FONT> 
</P>
            <P>介绍Taglib在Struts中的应用,以及其他相关功能</P>
            <P><FONT color=#0000ff>Chapter 8: Other Web Framework</FONT></P>
            <P>Struts与其他Framework的比较</P>
            <P>&nbsp;</P>
            <H1>Chapter 1: MVC Architecture </H1>
            <P><FONT color=blue>Struts principle and practice 
            </FONT><BR><BR>模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。 

            <P>1 模型(Model)<BR>模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.<BR><BR>2 
            视图(View)<BR>视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。 
            <P>3 控制器(controller) <BR>控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。</P>
            <P><IMG alt="" hspace=0 
            src="CSDN_Struts 原理与应用(一).files/CSDN_Dev_Image_2003-12-52020510.jpg" 
            align=baseline border=0></P>
            <P>MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性 
            <P>早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,Delphi等RAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象 

            <P>管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP 
            Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能 

            <P>JSP Model 1 与 JSP Model 2</P>
            <P>SUN在JSP出现早期制定了两种规范,称为Model1和Model2。虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意 

            <P><IMG alt="" hspace=0 
            src="CSDN_Struts 原理与应用(一).files/CSDN_Dev_Image_2003-12-52020512.gif" 
            align=baseline border=0></P>
            <P><STRONG>JSP Model 1 </STRONG></P>
            <P><IMG alt="" hspace=0 
            src="CSDN_Struts 原理与应用(一).files/CSDN_Dev_Image_2003-12-52020514.gif" 
            align=baseline border=0></P>
            <P><STRONG>JSP Model 2 </STRONG></P>
            <P>model2 容易使系统出现多个Controller,并且对页面导航的处理比较复杂 
            <P>有些人觉得model2仍不够好,于是Craig R. McClanahan 2000年5月 提交了一个WEB 
            framework给Java Community.这就是后来的Struts.</P>
            <P>2001年7月,Struts1.0,正式发布。该项目也成为了Apache Jakarta的子项目之一 
            <P>Struts 
            质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑 
            </P>
            <H1>Chapter 2: J2EE N-tiers Structure </H1>
            <P><FONT color=blue>Struts principle and practice 
            </FONT><BR><BR>早期的网络系统设计常常采用三层结构。最常见的结构,就是表示( presentation )层 , 领域( 
            domain )层 , 以及基础架构( infrastructure )层。 </P>
            <P>n层结构的提出是为了适应当前B/S模式开发WEB Application的需要而提出的。传统的Brown模型是指:表示层( 
            Presentation ),控制 / 中介层( Controller/Mediator ),领域层( Domain ) , 
            数据映射层( Data Mapping ) , 和数据源层( Data Source )。它其实就是在三层架构中增加了两个中间层。控制 
            / 中介层位于表示层和领域层之间,数据映射层位于领域层和基础架构层之间。</P>
            <P>J2EE规范提出了自己的n-tiers结构。</P>
            <P><IMG alt="" hspace=0 
            src="CSDN_Struts 原理与应用(一).files/CSDN_Dev_Image_2003-12-52020516.gif" 
            align=baseline border=0></P>
            <P>下表是几种模型的对照</P>
            <TABLE cellSpacing=2 cellPadding=2 border=1>
              <TBODY>
              <TR>
                <TD vAlign=top width=69>
                  <P><STRONG>ISA </STRONG></P></TD>
                <TD vAlign=top width=80>
                  <P><STRONG>Brown </STRONG></P></TD>
                <TD vAlign=top width=99>
                  <P><STRONG>J2EE </STRONG><STRONG>层 
                  </STRONG><STRONG></STRONG></P></TD>
                <TD vAlign=top width=175>
                  <P><STRONG>对应程序部分 </STRONG><STRONG></STRONG></P></TD>
                <TD vAlign=top width=110></TD></TR>
              <TR>
                <TD vAlign=top width=69 rowSpan=2>
                  <P>表示层 </P></TD>
                <TD vAlign=top width=80 rowSpan=2>
                  <P>表示层 </P></TD>
                <TD vAlign=top width=99>
                  <P>客户层 </P></TD>
                <TD vAlign=top width=175>
                  <P>浏览器 HTML 页面, XSL, 手机客户端等</P></TD>
                <TD vAlign=top width=110 rowSpan=2></TD></TR>
              <TR>
                <TD vAlign=top width=99>
                  <P>服务器表示层 </P></TD>
                <TD vAlign=top width=175>
                  <P>JSP 及 ActionForm ,XML </P></TD></TR>
              <TR>
                <TD vAlign=top width=69>
                  <P></P></TD>
                <TD vAlign=top width=80>
                  <P>控制 / 中介层 </P></TD>
                <TD vAlign=top width=99>
                  <P></P></TD>
                <TD vAlign=top width=175>
                  <P>Controller 控制器及 Action </P></TD>
                <TD vAlign=top width=110></TD></TR>
              <TR>
                <TD vAlign=top width=69>
                  <P>领域层 </P></TD>
                <TD vAlign=top width=80>
                  <P>领域层 </P></TD>
                <TD vAlign=top width=99>
                  <P>业务层 </P></TD>
                <TD vAlign=top width=175>
                  <P>Javabeans / SessionBean /Session Facade </P></TD>
                <TD vAlign=top width=110></TD></TR>
              <TR>
                <TD vAlign=top width=69>
                  <P></P></TD>
                <TD vAlign=top width=80>
                  <P>数据映射层 </P></TD>
                <TD vAlign=top width=99>
                  <P>整合层 </P></TD>
                <TD vAlign=top width=175>
                  <P>EntityBean / JDO / Hibernate / JDBC </P></TD>
                <TD vAlign=top width=110></TD></TR>
              <TR>
                <TD vAlign=top width=69>
                  <P>数据层 </P></TD>
                <TD vAlign=top width=80>
                  <P>数据源层 </P></TD>
                <TD vAlign=top width=99>
                  <P>资源层 </P></TD>
                <TD vAlign=top width=175>
                  <P>RDBMS 数据库 </P></TD>
                <TD vAlign=top width=110></TD></TR></TBODY></TABLE>
            <P>J2EE的基本原则之一,是使得各个层的实现解除耦合或耦合最小化。最终实现可以任意的切换某个层的实现。</P>
            <P>例如,在数据映射层,可以采用EJB的BMP,CMP,也可以采用Hibernate等O/RMapping,或者采用JDO。这由部署的环境来决定。</P>
            <P><BR>&nbsp;</P><BR><!--内容结束//--></TD></TR></TBODY></TABLE><BR>
      <TABLE width=600 border=0>
        <TBODY>
        <TR>
          <TD>作者相关文章: 
            <LI><A href="http://www.csdn.net/develop/article/22/22753.shtm" 
            target=_blank>DOM4J 使用简介<FONT color=#ff0000>(原作)</FONT></A> 
            <LI><A href="http://www.csdn.net/develop/article/22/22574.shtm" 
            target=_blank>Struts原理与应用(完)<FONT color=#ff0000>(原作)</FONT></A> 
            <LI><A href="http://www.csdn.net/develop/article/22/22573.shtm" 
            target=_blank>Struts原理与应用(三)<FONT color=#ff0000>(原作)</FONT></A> 
          </LI></TD></TR></TBODY></TABLE><BR>
      <TABLE width=600 border=0>
        <TBODY>
        <TR>
          <TD>其它相关文章:
            <LI><A href="http://www.csdn.net/develop/article/22/22722.shtm" 
            target=_blank>强烈推荐一篇文章及其评论 关于MVC等方面<FONT 
            color=#ff0000>(原作)</FONT></A> 
            <LI><A href="http://www.csdn.net/develop/article/22/22536.shtm" 
            target=_blank>Tiles傻瓜式入门―hajavaor―<FONT 
            color=#ff0000>(原作)</FONT></A> 
            <LI><A href="http://www.csdn.net/develop/article/22/22255.shtm" 
            target=_blank>Java Web应用测试指导<FONT color=#ff0000>(原作)</FONT></A> 
            <LI><A href="http://www.csdn.net/develop/article/22/22176.shtm" 
            target=_blank>Struts tags (3) ----Bean(2)<FONT 
            color=#ff0000>(翻译)</FONT></A> 
            <LI><A href="http://www.csdn.net/develop/article/22/22175.shtm" 
            target=_blank>Struts tags (2) ----Bean(1)<FONT 
            color=#ff0000>(翻译)</FONT></A> </LI></TD></TR></TBODY></TABLE><BR>
  <TR></TD></TR></TBODY></TABLE><BR><!--文章评论开始//-->
<TABLE cellSpacing=0 cellPadding=0 width=770 align=center bgColor=#006699 
border=0>
  <TBODY>
  <TR bgColor=#006699>
    <TD id=white align=middle bgColor=#006699><FONT 
    color=#ffffff>对该文的评论</FONT></TD>
    <TD align=middle><!--文章人气开始//-->
      <SCRIPT src="CSDN_Struts 原理与应用(一).files/readnum.htm"></SCRIPT>
<!--文章人气开始//--></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=1 cellPadding=2 width=770 align=center bgColor=#666666 
border=0>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #990000"><IMG height=16 
      hspace=1 src="CSDN_Struts 原理与应用(一).files/ico_pencil.gif" width=16> 
      </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; cunni<I>(2003-12-16 11:45:01)</I> </TD></TR>
  <TR>
    <TD width=532 bgColor=#ffffff 
colSpan=3><BR>几个图都很不错,thx!<BR></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=1 cellPadding=2 width=770 align=center bgColor=#666666 
border=0>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #990000"><IMG height=16 
      hspace=1 src="CSDN_Struts 原理与应用(一).files/ico_pencil.gif" width=16> 
      </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; icecloud<I>(2003-12-7 22:29:55)</I> </TD></TR>
  <TR>
    <TD width=532 bgColor=#ffffff colSpan=3><BR>乱码:有娜丝

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -