ActionContext, 서브렛Context와 서브렛ActionContext는 어떤 차이가 있습니까?
그들 사이에는 많은 차이가 있다.
ServletContext
ServletContext
의 가방(javax.servlet.ServletContext
에서 우리는 그것이 표준적인 JavaEE Web Application 라이브러리라는 것을 알 수 있다.서브렛Context는 표준 서브렛 런타임 환경을 제공합니다.실제로는 servlet이 웹 용기와 통신하는 몇 가지 방법입니다.
public interface ServletContext { // Returns the URL prefix for the ServletContext. public String getServletContextName(); //Returns the context-path for the web-application. public String getContextPath(); //Returns the ServletContext for the uri. public ServletContext getContext(String uri); //Returns the real file path for the given uri. public String getRealPath(String uri); public RequestDispatcher getNamedDispatcher(String servletName); public RequestDispatcher getRequestDispatcher(String uri);
서브렛Context는 서브렛Config에 포함되며, 서브렛Config은 일반적으로 서브렛이나 Filter의
init()
메서드에서 읽습니다. servletConfig.getServletContext() filterConfig.getServletContext()
ActionContext
Struts에서 왔지만, 처음에는 Struts1과 Struts2에서 왔지만, 그것들은 다르다.
Struts1:
servlet
(servlet org.apache.struts.action.ActionServlet) 에서 모든 *.do
동작을 처리합니다.Struts2:
filter
(org.apache.struts2.dispatcher.FilterDispatcher)에서 모든 요청을 처리합니다.struts1은 servlet 범위에 속하기 때문입니다.struts1 동작은 본질적으로 servlet입니다.struts2 동작은 일반적인 Java bean으로 servlet 제한이 있습니다.strtus2 동작이 나온 후,ActionContext는 잃어버린 WEB 환경을 구성합니다.
ActionContext 주요 기능:
WEB 컨텍스트를 제공합니다.
라인 안전 문제를 해결하다.
다른 Framework와 호환되지 않는 문제(예: webLogic) 해결ServletActionContext
말씀하신 대로 서브렛ActionContext는 ActionContext의 하위 클래스입니다.ActionContext의 기능은 ActionContext에서 시작하여 더욱 간단하고 직관적으로 포장하는 것입니다.
또한 소스 코드를 검토할 수도 있습니다.
public class ServletActionContext extends ActionContext implements StrutsStatics { //HTTP servlet request public static void setRequest(HttpServletRequest request) { ActionContext.getContext().put(HTTP_REQUEST, request); } public static HttpServletRequest getRequest() { return (HttpServletRequest) ActionContext.getContext().get(HTTP_REQUEST); } //HTTP servlet response public static void setResponse(HttpServletResponse response) { ActionContext.getContext().put(HTTP_RESPONSE, response); } public static HttpServletResponse getResponse() { return (HttpServletResponse) ActionContext.getContext().get(HTTP_RESPONSE); } //servlet context. public static ServletContext getServletContext() { return (ServletContext) ActionContext.getContext().get(SERVLET_CONTEXT); } public static void setServletContext(ServletContext servletContext) { ActionContext.getContext().put(SERVLET_CONTEXT, servletContext); }
서브렛ActionContext가 ActionContext를 확장했다는 것을 위에서 알 수 있습니다.
표찬성
그들 사이에는 많은 차이가 있다.
ServletContext
ServletContext
의 가방(javax.servlet.ServletContext
에서 우리는 그것이 표준적인 JavaEE Web Application 라이브러리라는 것을 알 수 있다.서브렛Context는 표준 서브렛 런타임 환경을 제공합니다.실제로는 servlet이 웹 용기와 통신하는 몇 가지 방법입니다.
public interface ServletContext { // Returns the URL prefix for the ServletContext. public String getServletContextName(); //Returns the context-path for the web-application. public String getContextPath(); //Returns the ServletContext for the uri. public ServletContext getContext(String uri); //Returns the real file path for the given uri. public String getRealPath(String uri); public RequestDispatcher getNamedDispatcher(String servletName); public RequestDispatcher getRequestDispatcher(String uri);
서브렛Context는 서브렛Config에 포함되며, 서브렛Config은 일반적으로 서브렛이나 Filter의
init()
메서드에서 읽습니다. servletConfig.getServletContext() filterConfig.getServletContext()
ActionContext
Struts에서 왔지만, 처음에는 Struts1과 Struts2에서 왔지만, 그것들은 다르다.
Struts1:
servlet
(servlet org.apache.struts.action.ActionServlet) 에서 모든 *.do
동작을 처리합니다.Struts2:
filter
(org.apache.struts2.dispatcher.FilterDispatcher)에서 모든 요청을 처리합니다.struts1은 servlet 범위에 속하기 때문입니다.struts1 동작은 본질적으로 servlet입니다.struts2 동작은 일반적인 Java bean으로 servlet 제한이 있습니다.strtus2 동작이 나온 후,ActionContext는 잃어버린 WEB 환경을 구성합니다.
ActionContext 주요 기능:
WEB 컨텍스트를 제공합니다.
라인 안전 문제를 해결하다.
다른 Framework와 호환되지 않는 문제(예: webLogic) 해결ServletActionContext
말씀하신 대로 서브렛ActionContext는 ActionContext의 하위 클래스입니다.ActionContext의 기능은 ActionContext에서 시작하여 더욱 간단하고 직관적으로 포장하는 것입니다.
또한 소스 코드를 검토할 수도 있습니다.
public class ServletActionContext extends ActionContext implements StrutsStatics { //HTTP servlet request public static void setRequest(HttpServletRequest request) { ActionContext.getContext().put(HTTP_REQUEST, request); } public static HttpServletRequest getRequest() { return (HttpServletRequest) ActionContext.getContext().get(HTTP_REQUEST); } //HTTP servlet response public static void setResponse(HttpServletResponse response) { ActionContext.getContext().put(HTTP_RESPONSE, response); } public static HttpServletResponse getResponse() { return (HttpServletResponse) ActionContext.getContext().get(HTTP_RESPONSE); } //servlet context. public static ServletContext getServletContext() { return (ServletContext) ActionContext.getContext().get(SERVLET_CONTEXT); } public static void setServletContext(ServletContext servletContext) { ActionContext.getContext().put(SERVLET_CONTEXT, servletContext); }
서브렛ActionContext가 ActionContext를 확장했다는 것을 위에서 알 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Struts2 Result 매개 변수 상세 정보서버에 제출하는 처리는 일반적으로 두 단계로 나눌 수 있다. Struts2가 지원하는 다양한 유형의 반환 결과는 다음과 같습니다. Chain Result Action 체인 작업 Dispatcher Result Fre...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.