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를 확장했다는 것을 위에서 알 수 있습니다.

좋은 웹페이지 즐겨찾기