Struts2 - (5) 전달 및 리디렉션(크로스 비즈니스 모듈)

1. 리디렉션 (기본값은 디스패치) 과 리디렉션의 차이점?
1. 브라우저에 대한 주소 변경(두 번 요청한 것과 다름), 전송 브라우저의 주소는 변경되지 않습니다(한 번만 요청).
2. 리디렉션 프로세스: 요청 보내기 --> 서버 실행 --> 응답 요청, 브라우저에 새 주소와 응답 코드 반환 --> 브라우저는 응답 코드에 따라 이 응답을 리디렉션으로 판정하고 자동으로 새 요청을 서버에 전송합니다. 요청 주소는 이전에 되돌아온 주소 --> 서버 실행 --> 응답 요청을 브라우저에 전송합니다.
3. 전송 과정: 요청 보내기 --> 서버 실행 --> 요청 재설정, 예를 들어request를 통해.setAttribute(name,value) --> 전송된 주소에 따라 이 주소를 가져오는 웹 페이지 --> 브라우저에 응답 요청
4. 방향을 바꾸는 사이트는 임의의 사이트가 될 수 있고 전송된 사이트는 반드시 본 사이트의 사이트가 되어야 한다.
dispatcher에 대한 Redirect Action 대 chain의 관계는 Redirect Action 대 chain에 해당합니다. 페이지를 돌리면 Redirect 또는 dispatchar를 사용하고, 액션을 돌리면 Redirect Action 또는 chain을 사용합니다.
둘째, 우리가struts2로 프로젝트를 할 때 때때로 이런 상황을 만날 수 있다. 예를 들어 데이터베이스에 데이터를 추가한 후에 전시 페이지로 이동할 때 우리는redirectAction이나chain을 사용해야 한다.
첫 번째는 Redirect Action을 사용합니다. (요청을 두 번 보낸 것과 같습니다.)
<result name="list" type="redirectAction">list</result>
<action name="list" class="xsyu.action.ListAction"> <result name="success">/list.jsp</result> </action>

위에서 말한 것은 간략한 쓰기 방법이다. 만약에 데이터의 과 데이터를 표시하는 이 두 개의 에 삽입된다면 우리는 이렇게 할 수 있다
 <result name="list" type="redirectAction"> <param name="actionName">list</param> <param name="namespace">/</param> </result>

또 하나는 chain(서버 내부에서 한 번만 요청을 보낸 것과 같다)
<result name="list" type="chain">list</result>

혹은
 <result name="list" type="chain"> <param name="actionName">list</param> <param name="namespace">/</param> </result>



좋은 웹페이지 즐겨찾기