Class SimpleWebApp

java.lang.Object
org.zkoss.zk.ui.impl.AbstractWebApp
org.zkoss.zk.ui.http.SimpleWebApp
All Implemented Interfaces:
org.zkoss.util.resource.Locator, Scope, WebAppCtrl, WebApp

public class SimpleWebApp extends AbstractWebApp
A servlet-based Web application.
Author:
tomyeh
  • Constructor Details

    • SimpleWebApp

      public SimpleWebApp()
  • Method Details

    • init

      public void init(Object context, Configuration config)
      Description copied from interface: WebAppCtrl
      Initializes this Web application.
      Specified by:
      init in interface WebAppCtrl
      Overrides:
      init in class AbstractWebApp
      Parameters:
      context - the servlet context, if servlets are used. Currently, ZK supports only servlets. In the future there might be more to support.
      config - the configuration (never null)
    • getAttribute

      public Object getAttribute(String name)
      Description copied from interface: WebApp
      Returns the value of the specified custom attribute.
    • hasAttribute

      public boolean hasAttribute(String name)
      Description copied from interface: Scope
      Returns if a custom attribute is associated with this object (scope).

      Notice that null is a valid value, so you can tell if an attribute is associated by examining the return value of Scope.getAttribute(java.lang.String).

    • setAttribute

      public Object setAttribute(String name, Object value)
      Description copied from interface: WebApp
      Sets the value of the specified custom attribute.
      Returns:
      the previous value if any (since ZK 5)
    • removeAttribute

      public Object removeAttribute(String name)
      Description copied from interface: WebApp
      Removes the specified custom attribute.
      Returns:
      the previous value if any (since ZK 5)
    • getAttributes

      public Map<String,Object> getAttributes()
      Description copied from interface: WebApp
      Returns a map of custom attributes associated with this object.
    • addScopeListener

      public boolean addScopeListener(ScopeListener listener)
      Description copied from interface: Scope
      Adds a listener to listen whether this scope is changed. The listener is called when a custom attribute is added, removed, or the parent is changed.
      Returns:
      weather the listener is added successfully. Note: if the resolver was added before, it won't be added again and this method returns false.
    • removeScopeListener

      public boolean removeScopeListener(ScopeListener listener)
      Description copied from interface: Scope
      Removes a change listener from this scope.
      Returns:
      false if listener is not added before.
    • getUpdateURI

      public String getUpdateURI()
      Description copied from interface: WebApp
      Returns the URI for asynchronous update.

      Both WebApp.getUpdateURI() and Desktop.getUpdateURI(java.lang.String) are encoded with Execution.encodeURL(java.lang.String)

      See Also:
    • getUpdateURI

      public String getUpdateURI(boolean encode)
      Description copied from interface: WebApp
      Returns the URI for asynchronous update that can be encoded or not.
      Parameters:
      encode - whether to encode with Execution.encodeURL(java.lang.String). It is the same as WebApp.getUpdateURI() if encode is true.
    • getResourceURI

      public String getResourceURI()
      Description copied from interface: WebApp
      See Also:
    • getResourceURI

      public String getResourceURI(boolean encode)
      Description copied from interface: WebApp
      Returns the URI for ZK resource that can be encoded or not.
      Parameters:
      encode - whether to encode with Execution.encodeURL(java.lang.String). It is the same as WebApp.getResourceURI() if encode is true.
    • getWebApp

      public WebApp getWebApp(String uripath)
      Description copied from interface: WebApp
      Returns the WebApp that corresponds to a specified URL on the server, or null if either none exists or the container wishes to restrict this access..
    • getDirectory

      public String getDirectory()
    • getResource

      public URL getResource(String path)
      Description copied from interface: WebApp
      Returns a URL to the resource that is mapped to a specified path.

      Notice that, since 3.6.3, this method can retrieve the resource starting with "~./". If the path contains the wildcard ('*'), you can use Execution.locate(java.lang.String) to convert it to a proper string first.

    • getResourceAsStream

      public InputStream getResourceAsStream(String path)
      Description copied from interface: WebApp
      Returns the resource located at the named path as an InputStream object.

      Notice that, since 3.6.3, this method can retrieve the resource starting with "~./". If the path contains the wildcard ('*'), you can use Execution.locate(java.lang.String) to convert it to a proper string first.

    • getInitParameter

      public String getInitParameter(String name)
      Description copied from interface: WebApp
      Returns the value of the named context-wide initialization parameter, or null if the parameter does not exist.
    • getInitParameterNames

      public Iterable<String> getInitParameterNames()
      Description copied from interface: WebApp
      Returns the names of the context's initialization parameters as an iterable String objects (never null).
    • getRealPath

      public String getRealPath(String path)
      Description copied from interface: WebApp
      Returns a String containing the real path for a given virtual path. For example, the path "/index.html" returns the absolute file path on the server's filesystem would be served by a request for "http://host/contextPath/index.html", where contextPath is the context path of this WebApp.

      Notice that ZK don't count on this method to retrieve resources. If you want to change the mapping of URI to different resources, override UiFactory.getPageDefinition(org.zkoss.zk.ui.sys.RequestInfo, java.lang.String) instead.

    • getMimeType

      public String getMimeType(String file)
      Description copied from interface: WebApp
      Returns the MIME type of the specified file, or null if the MIME type is not known. The MIME type is determined by the configuration of the Web container.

      Common MIME types are "text/html" and "image/gif".

    • getResourcePaths

      public Set<String> getResourcePaths(String path)
      Description copied from interface: WebApp
      Returns a directory-like listing of all the paths to resources within the web application whose longest sub-path matches the supplied path argument. Paths indicating subdirectory paths end with a '/'. The returned paths are all relative to the root of the web application and have a leading '/'. For example, for a web application containing
      
              /welcome.html
              /catalog/index.html
              /catalog/products.html
              /catalog/offers/books.html
              /catalog/offers/music.html
              /customer/login.jsp
              /WEB-INF/web.xml
              /WEB-INF/classes/com.acme.OrderServlet.class,
              
              getResourcePaths("/") returns {"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"}
              getResourcePaths("/catalog/") returns {"/catalog/index.html", "/catalog/products.html", "/catalog/offers/"}.
              
              
    • getServletContext

      public jakarta.servlet.ServletContext getServletContext()
      Description copied from interface: WebApp
      Returns the servlet context of this application.
    • log

      public void log(String msg)
      Description copied from interface: WebApp
      Writes the specified message to a servlet log file, usually an event log. The name and type of the servlet log file is specific to the servlet container.
    • log

      public void log(String msg, Throwable ex)
      Description copied from interface: WebApp
      Writes an explanatory message and a stack trace for a given Throwable exception to the servlet log file. The name and type of the servlet log file is specific to the servlet container, usually an event log.