• sturuts1 的使用


    本文大部分引用   http://blog.csdn.net/v6351270/article/details/7735204

    (一) web.xml配置
       web.xml文件对于配置任何Java Web应用都必需的。
       配置Struts的ActionServlet
       <servlet>元素来声明ActionServlet
       <servlet-name>元素:用来定义Servlet的名称
       <servlet-class>元素:用来指定Servlet的完整类名
       还要配置<servlet-mapping>元素,它用来指定ActionServlet可以处理哪些URL

       <servlet>
       <servlet-name>action</servlet-name>
       <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
       </servlet>
      <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
      </servlet-mapping>

    注意:

     (1)<servlet-mapping> 和<servlet>中的<servlet-name>?</servlet-name>的要填写一致,它就是一根 线,把<servlet-mapping>和<servlet>联接在一起的。
      (2)在Struts框架中只能有一个Servlet,因为Servlet支持多线程。而<servlet- class>org.apache.struts.action.ActionServlet</servlet-class>中的 ActionServlet是在Struts.jar包中的.在导入Struts包时会导入。
      (3)在显示层所有以*.do为扩展名提交的 URL,都会交由这个Servlet来处理。*.do可以改写成你想要的任何形式,例如:/do/* ,此时该Servlet会处理所有以"/do"为前缀的URL,如http://localhost:8080/helloapp/do /helloWord


    扩展:

      (1)我们可以继承 org.apache.struts.action.ActionServlet 得到我们可以扩展的子类,在子类中重写一个方法init()。这时<servlet-class>?</servlet- class>中的?是我们新建的类的路径,同样只能存在一个。
      (2)声明ActionServlet的初始化参数
       初始化参数用来对Servlet的运行时环境进行初始配置。<servlet>的<init-param>子元素用于配置Servlet初始化参数。
       config :以相对路径的方式指明Struts应用程序的配置文件位置,如不设置,则默认值为/WEB-INF/struts-config.xml
       debug : 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。
       detail : 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。
       <load-on-startup>?</load-on-startup>中?号的值是此ActionServlet在服务器开启时加载的次序,数值越低,越先加载。

        <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>


    扩展:(1)当服务器启动后,加载ActionServlet,而ActionServlet会调用相关的方法去,会根据它下面的参数的初始值,对这个ActionServlet中的参数时行初始化
          (2)当多人协作开发项目时可以对Strutst的配置文件进行适当的扩充,但必须为config开头。如

          <init-param>
            <param-name>config/XXXXXXXXX</param-name>
            <param-value>/WEB-INF/XXXXX.xml</param-value>
          </init-param>

           
    (3) 配置欢迎文件清单
         当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没有指定具体的文件名。Web容器会自动调用Web应用的欢迎文件。<welcome-file-list>是用来设置此项.

         <welcome-file-list>
           <welcome-file>welcome.jsp</welcome-file>
         </welcome-file-list>

          说明:在<welcome-file-list> 下可以有多个<welcom-file>。Web容器会依次寻找欢迎界面,直到找到为止。但如果不存在会向客户端返回”HTTP 404 NOT Found“错误信息。
          由于在<welcome-file-list>元素中不能配置Servlet映射,则不能直接把Struts的Action作为欢迎文件。但可以通过Struts中的全局的(global)转发项来配置。
         

    A:welcome.jsp页面(可换文件名)

          <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
          <html>
           <body>
            <logic:forward name="welcome"/>
           </body>
          </html>

    B: web.xml

          <welcome-file-list>
            <welcome-file>welcome.jsp</welcome-file>
          </welcome-file-list>

     C: struts-config.xml

          <global-forwards>   //global 全局的意思
          <forward name="welcome" path="hello.do">
          </global-forwards>

        我自已理解,仅供参考
        运行机制:当服务器启动时还是会加载 B中<welcome-file>welcome.jsp</welcome-file>中的welcome.jsp,然后读到 (A)welcome.jsp中的 <logic:forward name="welcome"/>,接下来会转到C中的<forward name="welcome" path="HelloWorld.do">,这是由于它是以.do(hello.do)结尾的,所以它会找到C文件中的<action& gt;相配配的,最后在转到这个<action>的JSP页面。


    (二) struts-config.xml配置

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
        <form-beans>
            <form-bean name="DrawForm" type="com.heiniao.visa.ui.view.formbean.DrawForm" />
            <form-bean name="fm" type="com.heiniao.sysframework.web.view.AbstractForm" />
            <form-bean name="printTemplateActionForm" type="com.heiniao.visa.ui.view.formbean.printTemplateActionForm" />
            <form-bean name="PrintAndSaveUniteInvoiceActionForm" type="com.heiniao.visa.ui.view.formbean.PrintAndSaveUniteInvoiceActionForm"></form-bean>
        </form-beans>
        <global-exceptions>
            <exception key="exception" type="java.lang.Exception" path="/common/ErrorPage.jsp" />
        </global-exceptions>
        <global-forwards>
            <forward name="logon" path="/index.jsp" />
            <forward name="blank" path="/common/Blank.html" />
            <forward name="success" path="/common/MessagePage.jsp" />
            <forward name="AdminTimeOut" path="/common/ErrorPage.jsp" />
            <forward name="error" path="/common/ErrorPage.jsp" />
            <forward name="false" path="/common/ErrorPage.jsp" />
        </global-forwards>
    
        <action-mappings>
            <action type="com.heiniao.visa.ui.control.facade.UILogonFacade" validate="false" scope="request" path="/logonin">
                <forward name="success" path="/common/login.jsp" />
                <forward name="login" path="/common/login.jsp" />
                <forward name="false" path="/index.jsp" />
                <forward name="loginException" path="/index.jsp" />
            </action>
        </action-mappings>
    
        <message-resources parameter="resources.visaResources" />
    </struts-config>

    (三)java类中的使用

    import org.apache.struts.action.*;
    import javax.servlet.http.*;
    
    public class UICommonInputFacade extends Action{//需继承struts1中的 Action
        //请求进来 默认访问的是execute类,出参与入参都是固定的。
        public ActionForward execute(ActionMapping actionMapping,ActionForm actionForm,HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws Exception{
           String forward = "sucess";  //在struts-congif.xml 配置的path ,跳转到对应的jsp 或者 另一个服务
           return actionMapping.findForward(forward);
        }
    }
  • 相关阅读:
    数据库优化设计方案(转)
    (转)Creating a DotNetNuke® Module Using CodeSmith Tools(For DotNetNuke Version 4.4.0 or higher)
    诱人的社区DotNetNuke免费模块列表
    C#版 DotNetNuke(DNN) 4.4.0
    在Asp.net注册js
    .net关于企业Excel报表的生成
    用DNN制作的站点
    Rainbow Resource
    ASP.NET Futures
    (轉)Net中获取CPU编号
  • 原文地址:https://www.cnblogs.com/heiniao/p/5868285.html
Copyright © 2020-2023  润新知