2009-05-15 10 views
14

Struts2에서는 클래스 경로에 struts.xml이 있어야하므로 더 이상 WEB-INF 아래에 있지 않습니다. 그래서 길을 내가 배포 내 프로젝트를 가지고하는 것은 WEB-INF/classes 아래를 충실하고 ../struts2.xmlwhere struts.xml

이 문제를 포함하는 것이 었습니다 :

  1. 이 이 struts.xml를 삭제 그래서 이클립스, 나는 다시 않는 클래스 폴더를 청소
  2. Eclipse는 내 프로젝트 브라우저에서 클래스 폴더를 표시하지 않으므로, 처음에는 설정 파일을 고집하는 것이 좋지 않습니다.

어떻게 Struts2 Eclipse 개발자가이 작업을 수행합니까?

+0

C :! \ 사용자 342,008 \ 바탕 화면 \ strus-structure.jpg 그렇게하는 동안 나는 404 오류를 받고 있어요 – jcrshankar

답변

13

원본 디렉터리의 루트에 struts.xml을 두거나 추가 리소스 원본 디렉터리를 설정하여 그 위치에 넣을 수 있습니다. 이클립스는 컴파일을 할 때 WEB-INF/classes에 복사 해준다.

+0

\ !!!! 나는 tomcat6을 사용하고있다. 왜 그런지 이유를 말해 줄 수 있니? – Visruth

0

이 답변은 사용자의 요구 사항과 관련이 없으므로 Maven을 사용하므로 "리소스"라는 별도의 폴더에있는 응용 프로그램에 필요한 "리소스"가 모두 있습니다. 이러한 파일은 자동으로 적절한 위치에 복사됩니다. Netbeans에서는 폴더에있는 파일을 사용할 수 있으며 유사한 설정으로 Eclipse를 사용하는 사람이 있다는 것을 알고 있습니다.

이 프로젝트의 대부분은 appfuse에서 시작 했으므로 대부분의 구성이 미리 만들어 졌음을 지적해야합니다. 거기에서 어떻게 이루어 졌는지보실 수 있습니다.

0

struts 2 프로젝트에서 struts.xml 파일은 패키지 및 라이브러리와 함께 src (Java Resources) 폴더에 추가됩니다.

아래 주어진 이미지를 참조하십시오. 유 스트럿에 대해 더 알고 싶다면

Struts 2 project directory view in eclipse

이 프로젝트 구조는 this link

를 방문하십시오 : 일식, 당신은 src 폴더에서 직접 파일을 붙여 넣을 수 없습니다. 먼저 프로젝트의 다른 위치 (예 : 'WebContent'폴더)에 붙여 넣기 한 다음 이동 기능을 사용하여 올바른 위치 (즉 'src'폴더)에 배치해야합니다.

+0

여기서 struts.xml은 어디에 있습니까? – Visruth

+0

그런 식으로 시험해 보았습니다. 하지만 404 오류가 나타납니다. 기술적 채팅을 할 수 있을까요 ??? 그렇다면 http://visruthcv.appspot.com/에 방문하십시오. – Visruth

0

src (Java Resources) 패키지에 struts.xml 파일을 저장할 수 있습니다. 컴파일 프로세스 struts.xml 파일이 ROOT/WEB-INF/classes 디렉토리 내에 생성됩니다.

같은 오류가 다시 발생하면 struts 동작을 더 잘 검사하십시오. 응용 프로그램의 배포 된 경로를 확인하면 원하는 것을 찾을 수 있습니다. (struts.xml 파일)

2

늦어서 웹 응용 프로그램의 클래스 경로에있는 모든 디렉토리에서 struts.xml을 구성 할 수 있지만 필터의 "config"초기화 매개 변수를 사용하여 위치를 제공 할 수 있습니다 내 struts.xml 파일이 "/ com/resources /"디렉토리에있는 경우 아래의 web.xml의 구성을 참조하십시오.

<filter> 
     <filter-name>action</filter-name> 
     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
     <init-param> 
      <param-name>config</param-name> 
      <param-value>struts-default.xml,struts-plugin.xml,/com/resources/struts.xml</param-value> 
     </init-param> 
    </filter> 

기본값은 3 개 값을 사용하여 우리는 설정 초기화 파라미터 struts2를 제공하지 않는 경우 "스트럿-default.xml에, struts.xml-plugin.xml에 스트럿", 아래의 struts2 디스패처 클래스 코드를 볼 수 있습니다 이 파일은 구성 관리자에게이 3 개의 파일을 구성합니다.

String configPaths = (String)this.initParams.get("config"); 
if (configPaths == null) { 
    configPaths = "struts-default.xml,struts-plugin.xml,struts.xml"; 
} 
String[] files = configPaths.split("\\s*[,]\\s*"); 
for (String file : files) 
    if (file.endsWith(".xml")) { 
    if ("xwork.xml".equals(file)) 
     this.configurationManager.addContainerProvider(createXmlConfigurationProvider(file, false)); 
    else 
     this.configurationManager.addContainerProvider(createStrutsXmlConfigurationProvider(file, false, this.servletContext)); 
    }