分类: 系统运维
2012-02-24 22:32:00
1.web.xml文件
web.xml文件对于配置任何Java Web应用都必需的。Web.xml文件中的元素是大小写敏感的。web.xml内的元素必须以正确的次序声明。servlet元素必须在所有servlet-mapping元素之前。context-param元素必须出现任意与文档有关的元素(icon、display-name或description)之后及filter、filter-mapping、listener或servlet元素之前。以下讲述的都是
1).配置Struts的ActionServlet
如:
2).
config :以相对路径的方式指明Struts应用程序的配置文件位置,如不设置,则默认值为/WEB-INF/struts-config.xml
对于复杂的应用,一般需要配置多个struts-config.xml文件,可以通过添加另外的
/WEB-INF/struts-config-wap.xml
debug : 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。
detail : 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。
3).
一般的servlet元素的表示:
<servlet>
<servlet-name>actionservlet-name>
<servlet-class>org.apache.struts.action.ActionServletservlet-class>
<init-param>
<param-name>configparam-name>
<param-value>/WEB-INF/struts-config.xmlparam-value>
init-param>
<init-param>
<param-name>debugparam-name>
<param-value>3param-value>
init-param>
<init-param>
<param-name>detailparam-name>
<param-value>3param-value>
init-param>
<load-on-startup>0load-on-startup>
servlet>
4).配置
5) 注意事项:
<servlet>
<servlet-name>actionservlet-name>
<servlet-class>
com.tops.j2eebase.web.TopsStrutsActionServlet
servlet-class>
<init-param>
<param-name>configparam-name>
<param-value>/_normal/tops_struts_config.xmlparam-value>
init-param>
<init-param>
<param-name>debugparam-name>
<param-value>2param-value>
init-param>
<load-on-startup>2load-on-startup>
servlet>
6).
该元素可包含多个
7).
该元素可以根据异常的类型来配置跳转的页面,还可以根据错误码来配置跳转页面,配置示例如下:
8). tld文件的配置
可以引入标签库(当然也可以在jsp中引入的),利用
如:
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tldtaglib-uri>
<taglib-location>/WEB-INF/struts-bean.tldtaglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tldtaglib-uri>
<taglib-location>/WEB-INF/struts-html.tldtaglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tldtaglib-uri>
<taglib-location>/WEB-INF/struts-logic.tldtaglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-template.tldtaglib-uri>
<taglib-location>
/WEB-INF/struts-template.tld
taglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tldtaglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tldtaglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tldtaglib-uri>
<taglib-location>
/WEB-INF/struts-nested.tld
taglib-location>
taglib>
jsp-config>
2.struts-config.xml文件
此文件是对Struts中用到的控制器、视图和模型进行配置,即是对MVC模式的配置。都是在
1).
该元素可以配置一个或多个data-source元素,即数据源元素,可以通过
<data-sources>
<data-source key="dataSources" type="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<set-property property="password" value="123456" />
<set-property property="minCount" value="2" />
<set-property property="maxCount" value="5" />
<set-property property="user" value="sa" />
<set-property property="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<set-property property="description" value="db_connection" />
<set-property property="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=db_bbs" />
<set-property property="readOnly" value="false" />
<set-property property="autoCommit" value="false" />
<set-property property="loginTimeout" value="3000" />
data-source>
data-sources>
在实际项目中,例如在Hibernate + Struts构建的系统中,一般使用Hibernate的hibernate.cfg.xml文件来配置数据源的信息。而在Hibernate + Struts + Spring构建的系统中,一般使用spring的配置文件(eg. applicationContext.xml)来配置数据源的信息。
2).
为普通FormBean需要定义一个JavaBean类,在form-bean元素中指定该类。对应的FormBean类一般是继承ActionForm类。普通form-bean元素的定义格式如下:
例如配置如下:
<form-beans>
<form-bean name="loginForm" type="com.wsy.struts.form.LoginForm" />
form-beans>
3).
global-forwards用于配置全局转发,struts首先会在
4).
该元素用于将Action元素定义到ActionServlet类中,它含有0到多个
type="该Action的对应类的全路径"
name="该Action绑定的FormBean"
每个action子元素可包含一个或多个forward子元素。除了path、type和name属性外,action还具有如下属性:
scope:指定ActionForm Bean的作用域(session和request),缺省为session。(可选);
input:当Bean发生错误时返回的路径(可选);
classname:指定一个调用这个Action类的ActionMapping类的全名。缺省用org.apache.struts.action.ActionMapping(可选);
include:如果没有forward的时候,它起forward的作用(可选);
validate:若为true,则会调用ActionForm的validate()方法,否则不调用,缺省为true(可选)。
forward属性也是可选的。
5).< message-resources>元素
该元素用来定义资源文件,格式如下:
classname="定义处理消息资源的类名的全名"
factory="定义MessageResourcesFactory类的全名"
key="定义绑定在这个资源包中的ServletContext的属性主键"
null="如果为true,则找不到消息key时,则返回null "/>
message-resources的各属性中,只有parameter是必选的,其余都为可选,classname属性默认为:org.apache.struts.config.MessageResourcesConfig,factory属性默认为:org.apache.struts.util.property.MessageResourcesFacotry,key属性默认为:Action.MESSAGES_KEY,null属性默认为:true。
例如:
<message-resources parameter="com.wsy.struts.ApplicationResources" />
6).
该元素用于定义插件,可定义0到多个插件元素,最常见的plug-in为Struts的验证的插件:
value="/WEB-INF/validator-rules.xml, /WEB-INF/manager/validation.xml" />
此外还有,Spring提供的载入插件配置:
value="/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml"/>