Struts的安裝與基本配置
我們主要針對(duì)Struts1.1版本進(jìn)行講解,這里假定讀者已經(jīng)配置好java運(yùn)行環(huán)境和相應(yīng)的Web容器,本文例子所使用的是j2sdk和Tomcat4.1.27.下面,將采用類似于step by step的方式介紹其基礎(chǔ)部分。
安裝Struts
到http://jakarta.apache.org/ 下載Struts的安裝文件,本文例子使用的是1.1版。
接下來您要進(jìn)行如下幾個(gè)步驟來完成安裝:
1、解壓下載的安裝文件到您的本地硬盤
2、生成一個(gè)新的Web應(yīng)用,假設(shè)我們生成的應(yīng)用程序的根目錄在tomcat下的/Webapps/mystruts目錄。在server.xml文件中為該應(yīng)用新建一個(gè)別名如/mystruts
3、從第1步解壓的文件中拷貝下列jar文件到/Webapps/mystruts/WEB-INF/lib目錄,主要文件有如下一些。
quote:
struts.jar
commons-beanutils.jar
commons-collections.jar
commons-dbcp.jar
commons-digester.jar
commons-logging.jar
commons-pool.jar
commons-services.jar
commons-validator.jar
|
4、創(chuàng)建一個(gè)web.xml文件,這是一個(gè)基于servlet的Web應(yīng)用程序都需要的部署描述文件,一個(gè)Struts Web應(yīng)用,在本質(zhì)上也是一個(gè)基于servlet的Web應(yīng)用,它也不能例外。
Struts有兩個(gè)組件要在該文件中進(jìn)行配置,它們是:ActionServlet和標(biāo)簽庫。下面是一個(gè)配置清單:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!-- Birt initial parameter -->
<filter>
<filter-name>encodefilter</filter-name>
<filter-class>com.genersoft.frame.base.control.EncodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodefilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>com.genersoft.frame.base.control.UserNumberCtrl</listener-class>
</listener>
<servlet>
<servlet-name>ajaxservlet</servlet-name>
<servlet-class>com.genersoft.frame.base.control.AJAXServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>generantexcelservlet</servlet-name>
<servlet-class>com.genersoft.frame.common.excel.GenerantExcelServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>reportservlet</servlet-name>
<servlet-class>com.genersoft.report.ReportServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>promptservlet</servlet-name>
<servlet-class>com.genersoft.frame.base.prompt.PromptServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>com.genersoft.frame.base.control.ControlServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/struts-config.xml,/WEB-INF/approve-config.xml,/WEB-INF/wjj-config.xml,/WEB-INF/wsy-config.xml,
/WEB-INF/yj-config.xml,/WEB-INF/zjj-config.xml,/WEB-INF/czw-config.xml,/WEB-INF/hxw-config.xml,/WEB-INF/jy-config.xml,
/WEB-INF/rxm-config.xml,/WEB-INF/sw-config.xml,/WEB-INF/zr-config.xml,/WEB-INF/lyl-config.xml,/WEB-INF/lws-config.xml,
/WEB-INF/xa-config.xml,/WEB-INF/lzx-config.xml,/WEB-INF/zls-config.xml
</param-value> //當(dāng)配置文件不在一個(gè)文件中的時(shí)候,就可以這樣配置,否者,只要配置struts-config.xml即可。
</init-param>
<init-param>
<param-name>userNumber</param-name>
<param-value>`ubbuzbbuubclx</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>wrokdesignServlet</servlet-name>
<servlet-class>com.genersoft.workflow.flowdesign.dataoperate.WrokdesignServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>fileinterfaceservlet</servlet-name>
<servlet-class>com.genersoft.zjgl.business.intefac.file.FileInterfaceServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>fileuploadservlet</servlet-name>
<servlet-class>com.genersoft.zjgl.control.FileUploadServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>appendageServlet</servlet-name>
<servlet-class>com.genersoft.frame.common.appendage.AppendageServlet</servlet-class>
<init-param>
<param-name>uploadPath</param-name>
<param-value>/upload/</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ajaxservlet</servlet-name>
<url-pattern>/ajaxservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>generantexcelservlet</servlet-name>
<url-pattern>/generantexcelservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>reportservlet</servlet-name>
<url-pattern>/reportservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>promptservlet</servlet-name>
<url-pattern>/promptservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>wrokdesignServlet</servlet-name>
<url-pattern>/wrokdesignServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fileinterfaceservlet</servlet-name>
<url-pattern>/fileinterfaceservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>appendageServlet</servlet-name>
<url-pattern>/appendageServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fileuploadservlet</servlet-name>
<url-pattern>/FileUploadServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/WEB-INF/jpager.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/jpager.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/swan-base.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/swan-base.tld</taglib-location>
</taglib>
<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>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
</web-app>
|
上面我們?cè)趙eb.xml中完成了對(duì)servlet和標(biāo)簽庫的基本配置,而更多的框架組件要在struts-config.xml中進(jìn)行配置:
5、創(chuàng)建一個(gè)基本的struts-config.xml文件,并把它放在/Webapps/mystruts/WEB-INF/目錄中,該文件是基于Struts應(yīng)用程序的配置描述文件,它將MVC結(jié)構(gòu)中的各組件結(jié)合在一起,開發(fā)的過程中會(huì)不斷對(duì)它進(jìn)行充實(shí)和更改。在Struts1.0時(shí),一個(gè)應(yīng)用只能有一個(gè)這樣的文件,給分工開發(fā)帶來了一些不便,在Struts1.1時(shí),可以有多個(gè)這樣的文件,將上述缺點(diǎn)克服了。需在該文件中配置的組件有:data-sources
quote:
global-execptions
form-beans
global-forwards
action-mappings
controller
message-resources
plug-in
配置清單如下:
quote:
//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
|
到此為止,我們已經(jīng)具備了完成一個(gè)最簡單Struts應(yīng)用的所需的各種組件。前面已經(jīng)提到,在開發(fā)過程中我們會(huì)不斷充實(shí)和修改上面兩個(gè)配置描述文件。