什么是Structs

解决方案 »

  1.   

    Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。说实话你的这个问题真的是不知道怎么回答,我的理解struts就是javaweb开发的一个框架,就是为了更快得开发jweb程序
      

  2.   

    结构?还是你想问struts来着?
      

  3.   

    这里说得挺清楚的:
    http://www.ibm.com/developerworks/cn/java/j-struts/
    这里是主页:
    http://struts.apache.org/
      

  4.   


    Struts对Model,View和Controller都提供了对应的组件。
    在上图中,ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action,这个类通常有用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。
    View部分该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。
    Controller组件Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。
    为了让Struts起作用,就要让Struts的核心ActionServlet起作用,就是让ActionServlet拦截用户的请求。那么要找web.xml中增加如下配置:(蓝色部分)
    web.xml<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <!-- 将Struts的核心控制器配置成标准的Servlet -->
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
    </servlet>
    <!-- 采用模式匹配来配置核心控制器url -->
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
    还需要一个struts-config.xml的配置文件,总体基本结构如下struts-config.xml<?xml version="1.0" encoding="UTF-8"?>
    <!-- 定义Struts的DTD信息 -->
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
    <struts-config>
    <!-- 定义Struts的所有ActionForm -->
    <data-sources />
    <form-beans>
    <!-- 依次定义多个ActionForm -->
    </form-beans>
    <global-exceptions />
    <global-forwards /> 
    <!-- 定义Struts的所有逻辑控制器Action -->
    <action-mappings >
    <!-- 依次定义多个Action -->
    </action-mappings>
    <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
    </struts-config>
      

  5.   

    我也刚刚学习STRUTS2,按照我的理解,就是把SERVLET封装了,让一些在servlet中实现很繁琐的工作变的简单,当然是基于MVC模式的,建议你简单写个MVC的小程序,对于你理解STRUTS2非常好