2017-03-13 9 views
0

입니다. Struts1에서 Struts2로 응용 프로그램을 마이그레이션하려고하는 초보자입니다. 마이그레이션 프로세스에서 다음과 같은 문제를 겪고 있습니다. -Struts1에서 Struts2로 이주, Struts1에서 Struts2 로의 변환 작업은

1) Struts1의 ActionServlet을 확장하는 서블릿이 있습니다. 슈퍼가 process처럼 호출되는 많은 오버라이드 된 메소드가 있습니다. Struts2로 변환하는 것과 동일한 것을 알고 싶습니다. StrutsPrepareAndExecuteFilter에서 해당 함수를 얻지 못하고 있습니다.

2) 저는 모든 폼 빈을 모델 구동 빈으로 변환하고 모든 액션을 ActionSupport 확장 클래스로 변환했습니다. 또한 struts.xml에 항목을 만들었습니다.

위의 두 가지 문제에 대한 의견을 보내주십시오.

답변

1

동작이 실행되기 전에 process이 실행 중입니다. 프레임 워크 클래스를 재정의하는 목적은 기능을 변경/확장하는 것입니다. 수정 사항의 대부분은 이전 프레임 워크와 관련되어 삭제 될 수 있습니다. Struts2에서 대체 할 수없는 코드를 사용해야한다면 커스텀 인터셉터를 작성해야합니다. 이는 클래스 오버라이드 대신 Struts2의 기능을 변경/확장하는 일반적인 방법입니다.

interceptors에 대한 자세한 내용은 Struts docs 사이트에서 읽을 수 있습니다.

구조는 괜찮지 만 ModelDriven은 빈을 컨트롤러에 주입하는 것으로 대체 될 수 있습니다. Nullpointerexception while setting a bean을 참조하십시오.

때때로 Bean의 범위가 중요합니다. 예를 들어 Struts1은 기본적으로 세션 범위를 사용합니다. 당신은 인터셉터 개미와 함께 sessionMap을 주입 할 수 있습니다. 필요하다면 객체를 세션에 유지하거나 this 질문에서와 같이 세션 범위 Bean을 구현하려고 시도 할 수 있습니다.

+0

도움 로마에 감사드립니다! – Test