站内搜索:     
站点首页破釜学院编程开发Java安装配置 → 创建Web应用和Struts框架的配置文件
正在加载相关信息.....
Web 站内搜索
创建Web应用和Struts框架的配置文件
】【打印】【加入收藏】【关闭收藏到新浪ViVi】【收藏到365KEY】 浏览字号:
日期:2006-06-12 人气: 出处:www.51cto.com

创建Web应用的配置文件

    对于Struts应用,它的配置文件web.xml应该对ActionServlet类进行配置,此外,还应该声明Web应用所使用的Struts标签库,本例中声明使用了三个标签库: Struts Bean、Struts HTML和Struts Logic标签库。例程1为web.xml的源代码。

例程1 web.xml

<?xml version="1.0" encoding="UTF-8"?>

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>

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

<SERVLET-MAPPING>

<SERVLET-NAME>action</SERVLET-NAME>

<URL-PATTERN>*.do</URL-PATTERN>

</SERVLET-MAPPING>

<WELCOME-FILE-LIST>

<WELCOME-FILE>hello.jsp</WELCOME-FILE>

</WELCOME-FILE-LIST>

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

<TAGLIB>

<TAGLIB-URI>/WEB-INF/struts-logic.tld</TAGLIB-URI>

<TAGLIB-LOCATION>/WEB-INF/struts-logic.tld</TAGLIB-LOCATION>

</TAGLIB>

</WEB-APP></CCID_CODE></CCID_NOBR></CCID_NOBR>

创建Struts框架的配置文件

正如前面提及的,Struts框架允许把应用划分成多个组件,提高开发速度。而Struts框架的配置文件struts-config.xml可以把这些组件组装起来,决定如何使用它们。例程2是helloapp应用的struts-config.xml文件的源代码。

例程2 struts-config.xml<?xml version="1.0" encoding="ISO-8859-1" ?><!--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 name="HelloForm" type="hello.HelloAction" path="/HelloWorld" 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></CCID_CODE>

    以上代码对helloapp应用的HelloForm、HelloAction和消息资源文件进行了配置,首先通过元素配置了一个ActionForm Bean,名叫HelloForm,它对应的类为hello.HelloForm:

接着通过元素配置了一个Action组件: 

<ACTION name="HelloForm" type="hello.HelloAction" path="/HelloWorld" scope="request" validate="true" input="/hello.jsp"><FORWARD name="SayHello" path="/hello.jsp" /></ACTION>

   元素的path属性指定请求访问Action的路径,type属性指定Action的完整类名,name属性指定需要传递给Action的ActionForm Bean,scope属性指定ActionForm Bean的存放范围,validate属性指定是否执行表单验证,input属性指定当表单验证失败时的转发路径。元素还包含一个子元素,它定义了一个请求转发路径。

    本例中的 元素配置了HelloAction组件,对应的类为hello.HelloAction,请求访问路径为"HelloWorld",当Action类被调用时,Struts框架应该把已经包含表单数据的HelloForm Bean传给它。HelloForm Bean存放在request范围内,并且在调用Action类之前,应该进行表单验证。如果表单验证失败,请求将被转发到接收用户输入的网页hello.jsp,让用户纠正错误。

   struts-config.xml文件最后通过元素定义了一个Resource Bundle:元素的parameter属性指定Resource Bundle使用的消息资源文件。本例中parameter属性为"hello.application",表明消息资源文件名为"application.properties",它的存放路径为WEB-INF/classes/hello/application.properties。


>>>> 进入论坛交流 <<<<