M:逻辑封装,JAVABEAN,V:视图,JSP,C:控制器,SERVLET
STRUTS是一个比较好的MVC结构,对上述结构更加细化。分为,JSP,ACTION,ACTIONFORM,JAVABEAN(封装业务逻辑),JAVABEAN(封装页面逻辑),SERVLET

解决方案 »

  1.   

    是指struts筐架本身的实现还是,它的应用?
    应用楼上说了
    实现主要用到了反射、XML解晰、和STL、servlet、jsp等这些技术
      

  2.   

    前提:::
    首先在你的 Tomcat 配置的应用主目录中创建一个目录,比方说 logonApp。在 logonApp 中创建目录 src 和 WEB-INF,在 WEB-INF 中创建目录 classes 和 lib,从 Struts 的分发中拷贝 struts.jar 到 lib 目录,而且也把拷贝 $CATALINA_HOME/common/lib/servlets.jar 到 lib 目录。从 Struts 的分发中拷贝所有的 struts*.tld 到 WEB-INF 目录。现在打开 Eclipse,你会看到四个 view。现在我们要建立一个新的项目,点击 File -> New Project,打开了一个窗口,在第一个窗格中选择 Java,在第二个窗格中选择 Java Project,点击 Next。输入项目名称(为了好记,就也叫 logonApp 吧),去掉 use default 复选框的对勾,浏览到 logonApp 目录,点击 Next。出现一个新的窗口,在 Source tab 上点击 Add Folder,添加 $APP_BASE/src,在 Default output folder 中填入 $APP_BASE/WEB-INF/classes,点击 Finish。点击 Window -> Open Perspective -> Resource,看看 .project 文件是否已经自动包含了 lib 目录中所有的 jar 文件。
      

  3.   

    struts 是一个mvc的模式,在你的程序中他只是一部分,所以你还可以设计一个mvc的模式,一般的业务逻辑
    不是放在servlet和bean中的,它应该放在你程序自己的mvc结构中的c(control)部分
      

  4.   

    struts的源代码就是公开的,自己回去看一看就可以了
      

  5.   

    struts是MVC模式的一个实现的框架,如同giftxi(alfred)所说,Model对应bean,View对应JSP页面,Controller对应Servlet。
    如果要应用struts,可以去看看源代码,当然,如果只是要用的话,去看doc就足够了。
    个人感觉,最核心的东西,还是servlet和action.xml(或struts-config.xml),学习的初期,从这两样上下手,比较容易有成就感,个人感觉。反之,后台部分的操作,可以在研究清楚了这两部分后再逐一地细化。
      

  6.   

    Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts的工作原理.
    控制:通过图2大家可以看到有一个XML文件Struts-config.xml,与之相关联的是Controller,在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。
    视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库: Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。
    模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等。
    流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。
      

  7.   

    javabean实现了数据库操作层(M),jsp实现了业务外观层(V),struts-config.xml和action实现了业务逻辑(C).
      

  8.   

    jsp-->Action Form-->Action,具体业务逻辑在action中实现,网上这种例子很多,找找看
      

  9.   

    JSP用于实现表现层,Servlet及JAVABEAN、EJB则用来完成需要进行复杂处理的任务。Servlet及JAVABEAN、EJB扮演控制器的角色:响应请求、创建beans(模型)或对象供JSP使用,并根据用户的行为,发送合适的页面给用户。JSP页面(视图),并没有包含业务逻辑,它只是简单地从Servlet中提取并插入动态的内容到静态页面模板中。View: 这是用户界面部分,与Web应用程序一样,主管应用程序与人之间的接口:一方面它为用户提供了输入手段,并触发应用逻辑运行;另一个方面,它又将逻辑运行的结果以某种形式显示给用户。 
    Controller: 该部分是用户界面与Model的接口;它解释来自于view的输入,将其解释成立系统能够理解的对象,同时它也识别用户动作,取出用户信息,并访问数据库执行业务逻辑;并根据执行结果构造Model数据,调用适当View为用户提供反馈。 
    Model: 存贮View显示所需的数据并封装数据处理逻辑,由Controller产生,供View显示。Struts应用有3个主要部件:一个Servlet Controller(由Struts提供,org.apache.action.ActionServlet,以下简称controller)及负责具体业务处理的Action类(org.apache.action.Action的基类);Jsp页面(viewer);应用的业务逻辑封装(model)。Struts 的中心控制器(ActionServlet)接受所有来自客户端的请求,并根据系统的配置(Struts-config.xml)路由HTTP请求到其它Action对象(开发者实现的org.apache.struts.action.Action的子类),在这些Action对象中会进行所有的业务操作,比如插入一条订单,修改一条记录。处理完毕,由Struts的ActionServlet转向到JSP页面,将处理结果返回给客户端。从这儿可以看出在Struts中ActionServlet担任了重要的角色,由它控制所有的程序流转,是MVC三个相对独立的部分协调工作,提供系统的完善功能
      

  10.   

    具体的文档去apache的网站看看就明白了!我开始学习时就是看的官方网站的文档,非常不错!
      

  11.   

    Struts
    Struts 框架完全是用 Java 写的,写时用了标准 J2EE API。另外,它还采用了几种著名的 J2EE 设计模式,比如模型-视图-控制器(Model-view-controller)和 FrontController。模型-视图-控制器(MVC)
    模型-视图-控制器(MVC)是一种设计模式,它在定义下面三个应用层时作了明确的区分。
    模型(model)是应用程序的数据和业务规则集合。通常被称作应用程序的业务逻辑。 
    视图(view)是应用程序的用户界面。 
    控制器(controller)定义了应用程序与用户输入及模型进行交互的方式。它被称作应用程序逻辑。 通过明确区分各个层,MVC 允许组成每个层的各个组件间松散地耦合。这使它更加灵活,并且可以重用代码。例如,如果您为一个应用程序开发了几个用户界面,那么就需要开发视图组件,因为各应用层间是松散耦合的。Struts 框架是 MVC 的视图和控制器组件。下面展示了 Struts 怎样映射为 MVC 框架。Struts 有三个主要组成部分:
    1. Action bean 
    2. ActionServlet 
    3. ActionForm bean 和定制的标记。 
     
    图 1. MVC 和 Struts 框架Action bean 和 ActionServlet 
    Struts 提供了一个单独的 ActionServlet(org.apache.struts.action.ActionServlet)来处理所有的浏览器请求。这种类型的框架我们称之为 FrontController 模式。每个浏览器请求都由 Struts 的 Action 子类(org.apache.struts.action.Action 的子类)来处理。每个浏览器请求都被映射为 struts-config.xml 文件内的一个 Action 子类。ActionServlet 在初始化期间加载这种映射。要配置 Web 项目使其把所有的浏览器请求都传递给 ActionServlet,请把所有以 .do 结尾的 URI(例如 *.do)都映射为 Web 部署描述符中的 ActionServlet。然后您可以在 Struts 配置文件中为各个请求 URI(比如 /submit.do)提供实际的 Action 子类映射。ActionForm bean 
    浏览器请求可带参数。当用户提交 HTML 表单后,Struts 框架就把参数放在一个 org.apache.struts.action.ActionForm bean 中。您也可以用 ActionForm bean 把缺省值预先植入一个表单,这些缺省值可从数据库或其他的后端系统获得。如果用户在表单中输入了不正确的值,ActionForm 可以进行验证。您可以用以前的输入重新显示表单。定制的标记
    Struts 提供了许多支持 ActionForm bean 的 JSP 定制标记。这些定制的标记支持:
    1. 把从 ActionForm 子类中获得的值预先植入 HTML 表单。 
    2. 国际化,比如提供由用户语言环境决定的文本。 
    3. 逻辑,比如根据人们对页面的使用方式为其显示不同的标题。 
      

  12.   

    刚开始学struts:,看自带的例子遇到了问题: struts 安装成功后,进入首页http://localhost:8080/struts-example/index.jsp,将鼠标移到 Register with the MailReader Demonstration Application 看到的 editRegistration.do?action=Create 在struts-config.xml文件里头找不到这个action/form,是怎么回事啊? 第二个问题:编辑index.jsp 
    看到: 
    <logic:notPresent name="database" scope="application"> 
    <font color="red"> 
    ERROR: User database not loaded -- check servlet container logs 
    for error messages. 
    </font> 
    <hr> 
    </logic:notPresent> 首页显示时,没有出现过dataBase,所以应该有这个错误提示才对阿? 
      

  13.   

    主要是应用了servlet,xml,java反谢技术。