Struts 2 에서 Action 이 Servlet API 에 접근 하 는 몇 가지 방법 을 자세히 설명 합 니 다.

Struts 2 에서 Action 이 Servlet API 에 접근 하 는 몇 가지 방법 을 자세히 설명 합 니 다.
일반적인 웹 개발 에 서 는 Request 와 Response 대상 이 흔 하지만 Struts 2 프레임 워 크 에 서 는 Action 이 JSP 페이지 와 데이터 교 류 를 할 수 있 기 때문에 이 두 대상 을 사용 하지 않 습 니 다.Struts 2 프로그램 에서 이 두 대상 을 사용 하려 면 해결 방법 도 있다.
Struts 2 의 Action 은 그 어떠한 Servlet API 와 도 직접 결합 하지 않 았 습 니 다.이것 은 Struts 2 의 개량 점 입 니 다.Action 류 는 더 이상 Servlet API 와 결합 하지 않 고 이 Action 을 쉽게 테스트 할 수 있 기 때 문 입 니 다.그런데 어떻게 방문 합 니까? 
웹 애플 리 케 이 션 에서 일반적으로 방문 해 야 하 는 Servlet API 는 HttpServletRequest,HttpSession,ServletContext 등 세 가지 유형 으로 각각 JSP 내 장 된 대상 중의 request,session,application 을 대표 합 니 다. 
방법 1:(일반적으로 추천 사용,IOC 방식,request 만 얻 을 수 있 고 response 는 얻 을 수 없습니다)
Struts 2 는 Action Context 류 를 제공 하고 Action Context 류 를 통 해 Servlet API 를 방문 합 니 다. 
다음은 Action Context 류 에 포 함 된 몇 가지 일반적인 방법 입 니 다. 
1.Public Object get(Object key):HttpServletRequest 에서 key 의 값 을 가 져 옵 니 다.
2.void put(String key,Object value):HttpServletRequest 의 key 값 을 value 로 설정 합 니 다.
3.Public Map getApplication():ServletContext 가 봉 인 된 Map 대상 가 져 오기;
4.void setApplication(Map application):ServletContext 인 스 턴 스 를 설정 합 니 다.
5.static ActionContext getContext():정적 방법 으로 시스템 의 ActionContext 인 스 턴 스 를 가 져 옵 니 다.
6.Map getParameters():HttpServletRequest 의 getParametersMap 방법 과 유사 합 니 다.
7.Public Map getSession():HttpSession 이 포 함 된 Map 대상 가 져 오기;
8.void setSession(Map session):하나의 Map 인 스 턴 스 를 직접 전송 하여 이 Map 인 스 턴 스 의 key-value 를 session 의 속성 이름과 속성 값 으로 변환 합 니 다.
방법 2:(추천 하지 않 음,번 거 로 움,비 IOC 방식,Servlet API 와 결합)
Struts 2 는 Action Context 를 제공 하여 Servlet API 를 방문 하지만 이러한 방문 은 Servlet API 를 직접 얻 을 수 없 으 며,Action 에서 Servlet API 를 직접 방문 하기 위해 Struts 2 는 다음 과 같은 인 터 페 이 스 를 제공 합 니 다. 
1.ServletContextAware:이 인 터 페 이 스 를 실현 하 는 Action 은 웹 응용 프로그램의 ServletContext 인 스 턴 스 를 직접 방문 할 수 있 습 니 다.
2.ServletRequestAware:이 인 터 페 이 스 를 실현 하 는 Action 은 사용자 가 요청 한 대상 의 HttpServletRequest 의 인 스 턴 스 를 직접 방문 할 수 있 습 니 다.
3.ServletResponse Aware:이 인 터 페 이 스 를 실현 하 는 Action 은 서버 가 응답 하 는 HttpServletResponse 의 인 스 턴 스 를 직접 방문 할 수 있 습 니 다. 
방법 3:(비 IOC 방식,강력 추천 사용)
Struts 2 는 servletAction Context 도 제공 합 니 다.정적 방법 은 getPageContext(),getRequest(),getResponse(),getServletContext()입 니 다. 
1、HttpServletRequest request=ServletActionContext.getRequest();
2、HttpServletResponse response=ServletActionContext.getResponse();
3、request.getSession().setAttribute("username","admin");
4、request.setAttribute("password","123456");
이상 은 Struts 2 에서 Action 이 Servlet API 를 방문 하 는 몇 가지 방법 입 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 커 뮤 니 티 에 가서 토론 을 하 십시오.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지원 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기