IT 전용글/Struts

Struts 정리

회상형인간 2009. 1. 22. 12:02


순서.

1. WebContent 폴더 /lib 폴더에 스트럿츠 jar 파일 전부를 올린다.
2. web.xml 에  서블릿 맵핑을 한다  ex) *.do
3. blank 폴더에 있는 struts-config.xml , validation.xml 파일을 WEB-INF 폴더 하위에 넣어둔다.


4. web.xml 파일 안에
<servlet>
<init-param>
   <param-name>config</param-name>
   <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <load-on-startup>0</load-on-startup>
</servlet>

상단에 있는 걸  넣어둔다 config 아레 있는 value 값은 struts-config.xml 파일의 위치를 기술한다.



5. struts-config.xml  파일에
<action-mapping></action-mapping>사의에
각각의 action을 기술한다
ex)
<action path="/write" type="struts.controller.WriteAction" name="userForm"></action>
  <action path="/login" type="struts.controller.LoginAction"></action>
  <action path="/view" type="struts.controller.ViewAction"></action>
  <action path="/list" type="struts.controller.ListAction"></action>
  <action path="/modify" type="struts.controller.ModifyAction"></action>
  <action path="/modifyForm" type="struts.controller.ModifyFormAction"></action>
  <action path="/remove" type="struts.controller.RemoveAction"></action>


6. write.do  실행시에  name 값에 있는 userForm 은 form-bean 안에 기술한다.
ex)
   <form-beans>
     <form-bean name="userForm" type="struts.controller.UserForm"/>
    </form-beans>

UserForm = UserDTO 이다. 입력폼에서 서브밋시에 현 설정을 하게 되면 UserForm 이라는 DTO 객체에 값이 자동으로 담기게 된다..


WriteAction.java 파일에서
회원가입 요청후  성공 / 실패 에 따른 포워딩 또는 리다이렉트 설정 법

<action path="/write" type="struts.controller.WriteAction" name="userForm">
      <forward name="writeSuccessF" path="/user_login.jsp" redirect="true" />
      <forward name="writeFailF" path="/user_write.jsp" redirect="false" />
 </action>
상단에 있는 writeAction 안에 foward 를 셋팅한다 현재는 성공 / 실패 포워딩을 셋팅했다.


WriteAction.java
ex)
public class UserAction extends Action  {
 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  // TODO Auto-generated method stub
  
  ActionForward forward= null;
  
  HttpSession session = request.getSession(true);
  
  session.setAttribute("user_id","test");
  
  
  
  forward = mapping.findForward("writeSuccessF");
  
  return forward;
 }
}