Struts2 학습(二):struts2 설정 설명!

13232 단어 struts2 설정 설명
Struts2 프레임워크는 다음과 같은 검색 순서에 따라 Struts2 상수를 로드합니다.
1.struts-default.xml---이 파일은struts2-core-2에 저장됨x.x.jar 파일
2.struts-pluugin.xml---struts2 일부 플러그인jar 패키지에서, 예를 들어struts2-xx-plugin-2.3x.x.jar
3.struts.xml---웹 응용 기본 Struts2 프로필
4.struts.properties - 웹 응용 기본 Struts2 프로필
5.web.xml--웹 응용 프로그램 프로필
만약 여러 파일에 같은 상수를 설정한다면, 후자는 전자를 덮어쓰고, 상수의 설정은 두 개의 속성, 상수name과 상수value
1. 상수 설정
Struts2에서 상수를 설정하는 것은 보통 struts에 있습니다.xml에서 설정하면 관리가 편리하고 통일되기 때문에 물론struts.properties 파일로 설정합니다. struts2의 상수 프로필로 사용되며, 웹에서도 사용됩니다.xml에서 설정합니다.struts가 이미 구성된 경우xml에서struts를 설정했습니다.properties는 struts가 작용합니다.properties
1.struts.xml-----보통 여기에 설정하는 것을 추천합니다
<struts>
	<constant name="struts.i18n.encoding" value="UTF-8"/>
	......
</struts>

2.struts.properties-- 형식, K-name V-value,struts2-core-2에 나타납니다x.x.x.jar 아래 org.apache.struts2 아래 static 가방에 있는default.properties.기본적으로 구성된 매개변수만 포함하여 자체 구성된 구성으로 해당 기본 구성 매개변수를 덮어씁니다.
###   Web         
struts.i18n.encoding=UTF-8 

3.web.xml------- 테스트되지 않음
<filter>
 	 <!--     Filter        -->
  	<filter-name>struts2</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  	
  	<init-param>
  		<param-name>struts.i18n.encoding</param-name>
  		<param-value>UTF-8</param-value>
  	</init-param>
  </filter>

2. 상량 상해
<struts>  
    <!--   Web        ,     HttpServletRequest setCharacterEncoding   -->  
    <constant name="struts.i18n.encoding" value="UTF-8" />  
  
    <!--  
               Struts 2       ,        action,     *.action     Struts2  。  
                      ,            (,)  。  
    -->  
    <constant name="struts.action.extension" value="do" />  
  
    <!--              ,    true(       ),         -->  
    <constant name="struts.serve.static.browserCache" value="false" />  
  
    <!--  struts        ,             ,    false(       ),         -->  
    <constant name="struts.configuration.xml.reload" value="true" />  
  
    <!--        ,                -->  
    <constant name="struts.devMode" value="true" />  
  
    <!--         -->  
    <constant name="struts.ui.theme" value="simple" />  
  
    <!-- spring    -->  
    <constant name="struts.objectFactory" value="spring" />  
  
    <!--  
            struts2       ,   org.apache.struts2.config.DefaultConfiguration  
                       ,     Configuration  ,      struts2    。  
    -->  
    <constant name="struts.configuration"  
        value="org.apache.struts2.config.DefaultConfiguration" />  
  
    <!--      locale      -->  
    <constant name="struts.locale" value="zh_CN" />  
    <constant name="struts.i18n.encoding" value="GBK" />  
  
    <!--   Struts     -->  
    <constant name="struts.objectFactory" value="spring"></constant>  
  
    <!--  
          spring       ,     : name, type, auto, and constructor (name  
               )  
    -->  
    <constant name="struts.objectFactory.spring.autoWire" value="name" />  
  
    <!--        spring ,   bean    ,  true or false,   true -->  
    <cosntant name="struts.objectFactory.spring.useClassCache" />  
  
    <!--       ,  tiger notiger -->  
    <cosntant name="struts.objectTypeDeterminer" value="tiger" />  
  
    <!--         MIME-type multipart/form-data,     -->  
    <constant name="struts.multipart.parser" value="cos" />  
    <constant name="struts.multipart.parser" value="pell" />  
    <constant name="struts.multipart.parser" value="jakarta" />  
  
    <!--             ,     javax.servlet.context.tempdir -->  
    <constant name="struts.multipart.saveDir" value="/tmpuploadfiles" />  
  
    <!--      Struts 2                    -->  
    <constant name="struts.multipart.maxSize" value="2097152" />  
  
    <!--  
             Struts2              ,                   
        struts.properties        。               ,          
                  (,)  。(        struts.properties!)  
    -->  
    <constant name="struts.custom.properties"  
        value="application,org/apache/struts2/extension/custom" />  
  
    <!-- 
            url action   ,   org.apache.struts2.dispatcher.mapper.DefaultActionMapper 
    -->  
    <constant name="struts.mapper.class"  
        value="org.apache.struts2.dispatcher.mapper.DefaultActionMapper" />  
  
    <!--   action   ,   action -->  
    <constant name="struts.action.extension" value="do" />  
  
    <!--   FilterDispatcher               ,       false,       true. -->  
    <constant name="struts.serve.static.browserCache" value="true" />  
  
    <!--             ,true   ,false   . -->  
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />  
  
    <!--        action     ,   false   ,       true. -->  
    <constant name="struts.enable.SlashesInActionNames" value="true" />  
  
    <!--            ,   true. -->  
    <constant name="struts.tag.altSyntax" value="true" />  
  
    <!--    struts.xml     ,       -->  
    <cosntant name="struts.configuration.xml.reload" value="true" />  
  
    <!--   struts       ,   false,        true. -->  
    <cosntant name="struts.devMode" value="true" />  
  
    <!--         ,         ,    false. -->  
    <cosntant name="struts.i18n.reload" value="false" />  
  
    <!--    UI  ,   UI   xhtml,   simple,xhtml ajax -->  
    <cosntant name="struts.ui.theme" value="xhtml" />  
  
    <!--      -->  
    <cosntant name="struts.ui.templateDir" value="template" />  
  
    <!--       .     ftl, vm, or jsp -->  
    <cosntant name="struts.ui.templateSuffix" value="ftl" />  
  
    <!--   velocity.properties   .   velocity.properties -->  
    <cosntant name="struts.velocity.configfile" value="velocity.properties" />  
  
    <!--   velocity context. -->  
    <cosntant name="struts.velocity.contexts" value="...." />  
  
    <!--   toolbox -->  
    <cosntant name="struts.velocity.toolboxlocation" value="...." />  
  
    <!--   web      -->  
    <cosntant name="struts.url.http.port" value="80" />  
  
    <!--        -->  
    <cosntant name="struts.url.https.port" value="443" />  
  
    <!--     url ,      .    : none,get or all -->  
    <cosntant name="struts.url.includeParams" value="get" />  
  
    <!--              ,     . -->  
    <cosntant name="struts.custom.i18n.resources" value="application" />  
  
    <!--  
            web         HttpServletRequest.getParameterMap(),    
        WebLogic,Orion, and OC4J ,    true,   false.  
    -->  
    <cosntant name="struts.dispatcher.parametersWorkaround" value="false" />  
  
    <!--   freemarker    -->  
    <cosntant name="struts.freemarker.manager.classname"  
        value="org.apache.struts2.views.freemarker.FreemarkerManager" />  
  
    <!--      freemarker       ,      template    WEB_APP/templates. -->  
    <cosntant name="struts.freemarker.templatesCache" value="false" />  
  
    <!--           . -->  
    <cosntant name="struts.freemarker.wrapper.altMap" value="true" />  
  
    <!--   xslt result         .      true,      false. -->  
    <cosntant name="struts.xslt.nocache" value="false" />  
  
    <!--   struts         . -->  
    <cosntant name="struts.configuration.files"  
        value="struts-default.xml,struts-plugin.xml,struts.xml" />  
  
    <!--            slash         namespace. -->  
    <cosntant name="struts.mapper.alwaysSelectFullNamespace"  
        value="false" />  
</struts>  

셋째,strust2 설정 설명
1. 패키지 구성:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">
    
<struts>
	<!--     ,  constant   -->
	<constant name="struts.i18n.encoding"  value="UTF-8"/>
	
	<!--    :      struts-default,               -->
	<!--namespace:    ,          action,              -->
	<package name="default" namespace="/user" extends="struts-default">
	
		<!--     action -->
		<action name="login" class="cn.itcast.Action.LoginAction" method="execute">
		
			<!--      String  ,      JSP  -->
			<result name="success">/welcome.jsp</result>
			<result name="login">/login.jsp</result>
		</action>	
	</package>

</struts>

상수 설정: constant 탭,name,value 두 속성을 사용합니다
네임스페이스:namespace="/user",http://localhost:8080/user/login.action검색 조건은 지정한 이름 공간에 대응하는 액션을 우선적으로 찾는 것입니다. 찾으면 더 이상 찾지 않고, 찾지 못하면 기본 이름 공간에 가서 찾습니다. 그렇지 않으면 오류가 발생합니다.
포함 설정: : 응용 규모가 점점 커지면 시스템의 액션도 점점 많아져struts.xml 설정이 점점 비대해지면 struts 분할을 고려할 수 있습니다.xml 파일.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<include file="test1.xml"/>
	<include file="test2.xml"/>
	<include file="test3.xml"/>
</struts>

차단기: Action이 실행되기 전이나 실행된 후에 시작할 수 있으며 필터와 유사하며 주로 AOP 프로그래밍 사상을 사용합니다
<struts>
	<!--     ,  constant   -->
	<constant name="struts.i18n.encoding"  value="UTF-8"/>
	<!--    :      struts-default,               -->
	<!--namespace:    ,          action,              -->
	<package name="default" namespace="/user" extends="struts-default">
		
		<interceptors>
		
			<!--       ,            -->
			<interceptor name="authority" class="cn.java.AuthorityInterceptor"/>
			<interceptor name="log" class="cn.java.LogInterceptor"/>
			
			<!--        ,                -->
			<interceptor-stack name="">
				<interceptor-ref name="authority"></interceptor-ref>
				<interceptor-ref name="log"></interceptor-ref>
			</interceptor-stack>
		</interceptors>
		
		<!--     action -->
		<action name="login" class="cn.java.Action.LoginAction" method="execute">
		
			<!--      String  ,      JSP  -->
			<result name="success">/welcome.jsp</result>
			<result name="login">/login.jsp</result>
			
			<!--  Action                   -->
			<interceptor-ref name="log"/>
		</action>	
	</package>
</struts>

좋은 웹페이지 즐겨찾기