`
hhr_michael
  • 浏览: 72426 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

struts2+hibernate3+spring2读书笔记2(struts2配置文件)

阅读更多
最近买了谢星星(阿蜜果)的企业应用架构设计-Struts2+Hibernate3+Spring2,想更好地学习与管理资料,现在在博客上写读书笔记,呵呵!

                              第3章 struts2配置文件

  为了在web应用中加入Struts2,需要在web.xml中进行Struts2过滤器的设置。本章主要是讲web.xml的配置,包括Struts2过滤器的配置、标签库的设置、欢迎页面和错误页面的设置。

一. 配置web.xml
(1)加载FilterDispatcher
  
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<filter>
		<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
		
		<!--配置Struts2 框架的配置提供者类  -->
		<init-param>
			<param-name>configProviders</param-name>
			<param-value>amigo.struts.config.MyConfigurationProvider</param-value>
		</init-param>
		
		<!--配置Struts2 默认加载的Action包结构  -->
		
		<init-param>
		   <param-name>actionPackages</param-name>
		   <param-value>org.apache.struts2.showcase.person</param-value>
		</init-param>
	
	</filter>
	
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
说明:对于Struts2,web.xml中需要负责加裁FilterDispatcher,在配置FiliterDispatcher时,可以通过<init-param/>标签为Filter配置初始化参数,比较重要的参数是:
Config:该参数用于指定Struts2的系统配置文件。
configProviders:Struts框架的配置提供者类,如果开发人员需要指定自己的配置提供者类时,可以使用这个参数。
actionPackages:该参数用于设置默认加载的Action的包结构。


(2)使用welcome-file-list元素来配置欢迎界面,内容如下:
 <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>


(3)Error-page用于配团置错误界面,可以通过错误码来配置,内容如下:
 <error-page>
  	<error-code>500</error-code>
  	<location>/error.jsp</location>
  </error-page>
</web-app>

二.配置struts.xml
    1.创建struts.xml文件。
     2.struts.xml的常用配置。
       (1)<include>标签的使用
  当工程比较大时,会使用struts.xml的配置过多,文件过于臃肿,此时为了增强可读性和更容易地维护配置信息,可将配置分模块或分功能放在不同的struts配置文件中,同时使用struts.xml中的<include>标签将其余的配置文件包括进来,具休例子如下:
  其中struts-web.xml文件的内容如下所示:
   
 <!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="web" extends="struts-default">
		<action name="userLogin" class="amigo.struts.chapter3.UserAction">
		<result>main.jsp</result>
		</action>
	</package>
</struts>

Struts-backend.xml文件的内容如下所示:

<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="backend" extends="struts-default">
		<action name="userManage" class="amigo.struts.chapter3.UserAction">
		<result>userList.jsp</result>
		</action>
	</package>
</struts>

Struts.xml中使用了<include>标签,完整内容如下:

  
 <!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<include file="struts-web.xml"/>
	<include file="Struts-backend.xml"/>
	<package name="totalConfig" extends="struts-default">
	</package>
</struts>
    
      (2)<package>标签的使用
        <package>标签类似于Java中的对象,它与Java中的对象一样可以包含多个文件,不过Java中的包是不可以继承的,而Struts中的包是可以继承的。

      (3)<action>标签的使用
        <action>标签用于将一个请求对应到一个Action处理上去,每当一个Action类匹配一个请求的时候,这个Action类就会被Struts2框架调用。
      (4)<result>标签的使用
        例1:全局<result>标签配置如下:
           
 <struts>
				<package name=”amigo” extends=”struts-deault”>
				<global-result>
					<result name=””success” >/success.jsp</result>
					<result name=”error”>/error.jsp</result>
				</global-result>
				</package>
</struts>
      (5)<param>标签的使用
<param>标签为<action>标签的子标签,它用于为action设置参数。例:

       
<!DOCTYPE struts PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 2.0//EN” “http://struts.apache.org/dtds/struts2.0.dtd”>
		<struts>
			<package name=”amigo” extends=”struts-default”>
		<action name=”userLogin” class=”amigo.struts.chapter3.userAction”>
			<param name=”username”>amigo</param>
			<param name=”password”>198211</param>
         <result name=”loginSuccess”>/success.jsp</result>
		</action>
			</package>
</struts>


三.配置struts.properties
Struts.xml和struts.properites 为Struts2的两个核心配置文件,而struts.properties用于配置Struts框架的属性。
    1创建struts.properties文 件
在struts-2.0.8-all\struts-2.0.8\src\core\src\test\resources 目录中的struts.properties文件中的struts.properties文件复制到工程的src目录中。

    2.Struts.properties的常用配置
       (1)sturts.i18n.encoding
该属性用于设置Web应用默认编码集,该属性对于处理中文请求参数很有作用。常用的设置有(UTF-8,GBK,GB2312)

       (2)struts.locale
             该属性用于指定Web应用的默认locale,即默认的国际化地区信息,例如:struts.locale=zh_CN

      (3)struts.multipart.savaeDir
该属性用于指定上传文件的临时保存路径。
      (4)struts.multipart.maxSize
该属性用于指定Struts2上传文件时请求内容允许的最大字节数。

  (5)struts.custom.properties
             该属性用于指定应用加载的用户自定义属性文件。

       (6)struts.ui.templateDir
该属性用于指定视图主题所需要的模板文件存放的路径
    
       (7)struts.custom.i18n.resources
             该属性用于指定工程的国际化资源文件。
      (8)struts.xslt.nocache
           该属性用于指定XSLT Result是否使用样式缓存。



小结:

1. Web工程若加入Struts的MVC框架的支持,需要在web.xml中配置FilterDispatecher过滤,内容如下:

    
<filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
		<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
            2.若要为过滤器配置初始化参数,可在<filter/>元素中使用配置<init-param/>子元素,配置如直:

    <init-param>
<param-name>参数名</param-name>
             <param-value>参数值</param-value>
   </init-param>

3. struts.xml的配置,主要是讲了<include>、<package>、<action>、<result>等的用法。
              
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics