创建Web应用和Struts框架的配置文件


创建Web应用的配置文件
对于Struts应用,它的配置文件web.xml应该对ActionServlet类进行配置,此外,还应该声明Web应用所使用的Struts标签库,本例中声明使用了三个标签库: Struts Bean、Struts HTML和Struts Logic标签库。例程2-7为web.xml的源代码。
例程2-7  web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
  <display-name>HelloApp Struts Application</display-name>
 
 <!-- Standard Action Servlet Configuration  -->
  <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>
     <load-on-startup>2</load-on-startup>
  </servlet>
  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <!-- The Usual Welcome File List -->
  <welcome-file-list>
    <welcome-file>hello.jsp</welcome-file>
  </welcome-file-list>
  <!-- Struts Tag Library Descriptors -->
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
</web-app>
 

创建Struts框架的配置文件
正如前面提及的,Struts框架允许把应用划分成多个组件,提高开发速度。而Struts框架的配置文件struts-config.xml可以把这些组件组装起来,决定如何使用它们。例程2-8是helloapp应用的struts-config.xml文件的源代码。
例程2-8  struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<!--
     This is the Struts configuration file for the "Hello!" sample application
-->
<struts-config>
    <!-- ======== Form Bean Definitions =================================== -->
    <form-beans>
        <form-bean name="HelloForm" type="hello.HelloForm"/>
    </form-beans>
  <!-- ========== Action Mapping Definitions ============================== -->
  <action-mappings>
    <!-- Say Hello! -->
    <action    path      = "/HelloWorld"
               type      = "hello.HelloAction"
               name      = "HelloForm"
               scope     = "request"
               validate  = "true"
               input     = "/hello.jsp"
     >
        <forward name="SayHello" path="/hello.jsp" />
    </action>
  </action-mappings>
  <!-- ========== Message Resources Definitions =========================== -->
  <message-resources parameter="hello.application"/>
</struts-config>
 

以上代码对helloapp应用的HelloForm、HelloAction和消息资源文件进行了配置,首先通过<form-bean>元素配置了一个ActionForm Bean,名叫HelloForm,它对应的类为hello.HelloForm:
<form-bean name="HelloForm" type="hello.HelloForm"/>
接着通过元素配置了一个Action组件:
<action    path      = "/HelloWorld"
          type      = "hello.HelloAction"
          name     = "HelloForm"
          scope     = "request"
          validate   = "true"
             input     = "/hello.jsp"
>
        <forward name="SayHello" path="/hello.jsp" />
</action>
 

<action>元素的path属性指定请求访问Action的路径,type属性指定Action的完整类名,name属性指定需要传递给Action的ActionForm Bean,scope属性指定ActionForm Bean的存放范围,validate属性指定是否执行表单验证,input属性指定当表单验证失败时的转发路径。<action>元素还包含一个<forward>子元素,它定义了一个请求转发路径。
本例中的 <action>元素配置了HelloAction组件,对应的类为hello.HelloAction,请求访问路径为"HelloWorld",当Action类被调用时,Struts框架应该把已经包含表单数据的HelloForm Bean传给它。HelloForm Bean存放在request范围内,并且在调用Action类之前,应该进行表单验证。如果表单验证失败,请求将被转发到接收用户输入的网页hello.jsp,让用户纠正错误。
struts-config.xml文件最后通过元素定义了一个Resource Bundle: <message-resources parameter="hello.application"/>
<message-resources>元素的parameter属性指定Resource Bundle使用的消息资源文件。本例中parameter属性为"hello.application",表明消息资源文件名为"application.properties",它的存放路径为WEB-INF/classes/hello/application.properties

本文作者:



相关阅读:
可以直接激活Windows7的序列号分享
asp下UTF-8页面乱码的解决方法
Windows Server 2008 网络管理技巧
linux命令介绍:source用法
二级域名或跨域共享Cookies的实现方法
无刷新的聊天室的制作兼谈组件制作和ClientSide Script(二)
输入法状态条没了怎么找回呢?
Mysql中校对集utf8_unicode_ci与utf8_general_ci的区别说明
XP最快速的关机方法
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
php REMOTE_ADDR之获取访客IP的代码
在当前目录生成很漂亮的结构树的批处理dir.bat
百度最新算法调整应对策略大全
数据库性能优化JOIN方法说明
快速导航

Copyright © 2016 phpStudy |