ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • struts :: struts1 과 struts2의 큰 차이
    IT/Java & JSP & FW 2012. 4. 25. 01:52

    2000년에 등장 한 스트럿츠프레임워크(Struts Framework)는 MVC Model을 웹 아키텍처에 결합시켜 탄생된 후 최근의 웹 애플리케이션 개발을 주도적으로 이끌어 왔다. 이러한 Struts와 MVC 아키텍처 중 가장 뛰어난 기술적 요소를 가지고 있는 웹워크(WebWork)의 단점을 극복하고 장점을 최대한 결합시켜 만든 프레임워크가 Struts2이다. Struts의 대안으로 WebWork를 처음 만든사람은 JBoss를 만든 Richard Oberg인데 이후 WebWork는 2004년에 버전 2.2.2 부터 Struts 커뮤니티와 결합하여 2005년 JavaOne에서 Struts Ti(Titanium) 제안 초안을 구성하여 본격적인 Struts2 개발이 시작되어 탄생하게 되었다.


    Struts2는 WebWork2.X와 결합하면서 MVC Pattern을 구현한 내부구조가 확 달라졌다.


    struts1 의 Action

    public class HelloWorldAction extends Action {
    	public actionForward excute(ActionMapping mapping, ActionForm form, 
    	HttpServletRequest request, HttpServletResponse response) throws Exception {
    		String msg = “Hello World”;
    		request.setAttribute(“msg”, msg);
    		return mapping.findForward(“success”);
    	}
    }
    


    struts2 의 Action

    public class HelloWorldAction {
    	private String msg;
    	public String getMsg() {
    		return msg;
    	}
    
    	public String execute() throws Exception {
    		msg = “Hello World”;
    	return “success”;
    	}
    }
    


    일반적인 POJO(Plain Old Java Object)로 Struts2의 Action을 정의했음을 알 수 있다. 한눈에 보면 알겠지만 Struts1.X와 비교했을 때 가장 큰 특징은 ServletAPI가 없다는 것이며 이로 인해 웹이 아닌 곳에서도 사용이 가능한 일반 클래스인데, 결국 POJO빈을 이용하여 쉽고 유연한 개발이 가능해 졌다는 것이다. 

    예를 들면 HTML 폼 데이터를 특정 자바클래스로 Submit 시키는 데 이 자바클래스를 Action이라 부르는 것이다.

    또한 화면에서는 msg에 대한 접근을 getter메소드를 이용해서 하게 된다.

Designed by Tistory.