📄 datasource.js
字号:
// </li>// <li><b>isomorphic_struts</b>: Contains the ValidationAction and ValidationFailureAction// classes that implement RPC-based validation of DynamicForms using the Struts// ValidatorPlugIn. If you're not using Struts or if you don't need this particular feature of// SmartClient, you do not need this module or its dependencies. An example of this style of// validation is available here: +externalLink{/examples/struts/forms/welcome.do} - read the// info on this page, and follow the "Dynamic Form (With RPC-based Validation) Link for// the actual example.<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br>// struts<br>// commons-digester<br>// commons-beanutils<br>// commons-fileupload<br>// commons-logging<br>// commons-validator<br>// jakarta-oro<br>// </li>// <li><b>isomorphic_spring</b>: Required for +link{DMI} dispatches to Spring beans (via// +link{serverObject.lookupStyle} : "spring").<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br>// spring<br>// commons-logging<br>// </li>// <li><b>isomorphic_examples</b>: Contains code for various SmartClient examples shown in the// SDK. Do not deploy to production. The source code for the compiled classes in this module// are present in the SDK in various locations and typically linked to directly from the// examples that use them.<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br>// isomorphic_sql<br>// isomorphic_struts<br>// isomorphic_spring<br>// isomorphic_hibernate<br>// commons-logging<br>// jstl<br>// jakarta-taglib-standard<br>// </li>// <li><b>isomorphic_realtime_messaging</b>: Server support required for the SmartClient// Realtime Messaging Module. Install this if you're using this 'push' technology. For more// information, see: +docTreeLink{Messaging QuickRef}:<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br>// </li>// <li><b>isomorphic_hibernate</b>: Contains support for Hibernate DataSources as described// here: +link{group:hibernateIntegration}.<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br>// hibernate3<br>// dom4j<br>// jdbc2_0-stdext<br>// asm<br>// asm-attrs<br>// jta<br>// cglib<br>// antlr<br>// <u>Optionally Requires</u>:<br>// hsqldb - not required for linking, but needed for Hibernate to// actually connect to databases of this type, and hsqldb is what's used in the SDK examples.// Note that for production use you will need a JDBC driver for your database type.<br>// </li>// <li><b>isomorphic_sql</b>: Implementation of the SmartClient SQL rapid prototyping layer.// This is a SQL generation engine similar to Hibernate, but not as flexible. Some SQL-based// SDK examples rely on this logic, but it should not be used in production.<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br> // isomorphic_hibernate<br> // commons-dbcp<br> // hsqldb<br> // </li>// <li><b>isomorphic_js_parser</b>: A parser capable of reading a JSON byte stream and creating// an in-memory Java object structure to match. Used by any mechanism that relies on// JSON-style configuration. Examples include FileAssembly definitions in JSON format, any use// of the rulesFile with a URIRegexFilter (Java Servlet) or subclass. Generally not// required.<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br> // </li>// <li><b>isomorphic_compression</b>: This is a part of the Network Performance Module. The// isomorphic_compression module is required for dynamic and static compression of various// assets delivered to the browser. For more information, see: // +link{group:compression}.<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br> // </li>// <li><b>isomorphic_assembly</b>: This is part of the Network Performance Module. The// isomorphic_assembly module is required for file assembly and stripping. For more// information, see: +link{group:fileAssembly}.<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br> // <u>Optionally Requires</u>:<br>// isomorphic_obfuscation - for code obfuscation<br> // </li>// <li><b>isomorphic_obfuscation</b>: This is part of the Network Performance Module. The// isomorphic_obfuscation module is required to enable obfuscation of code assembled by the// File Assembly system. For more information, see: // +link{group:compression}.<br>// <u>Requires</u>:<br>// isomorphic_core_rpc<br> // </li>// </ul>// <p>// <u><b>Caching Considerations</b></u>// <p>// When upgrading from one SmartClient release to the next you want to make sure that the user// picks up the new version on next access, but you also want to keep the ISC modules cacheable// so they're not refetched on every access.// <p>// SmartClient deals with this problem by appending a version string as a query parameter to// each module load directive. This is done by the <isomorphic:loadISC> and// <isomorphic:loadModules> tags automatically. As long as you make sure that the file// that contains these tags is non-cacheable, you will get the desired behavior.// <p>// <u><b>Supported J2SE Containers</b></u>// <p>// Below is the list of J2SE containters that have been tested to be compatible with this// version of SmartClient. Installation in these containers is supported for deployment by// Isomorphic. If your application server is not on this list, please contact us at the// <a href="http://forums.smartclient.com" target='_blank'>SmartClient forums</a> to see if we can support// your deployment. In general, the Java portion of ISC should work on servlet containers that// comply with servlet specification version 2.3 and up and utilize a JVM no older than version// 1.4.// <p>// Supported J2SE Containers:// <p>// <table class='normal'>// <tr><td width=40></td><td width=200><i>Apache Tomcat 4.0.x, 4.1.x, 5.0.x, 5.5x, 6.0.x</i></td><td></td></tr>// <tr><td></td><td><i>Apache Geronimo 1.x, 2.x</i></td><td></td></tr>// <tr><td></td><td><i>BEA WebLogic 6.x, 7x, 8.x, 9.x, 10.x</i></td><td></td></tr>// <tr><td></td><td><i>Caucho Resin 2.1.x, 3.0.x, 3.1.x</i></td><td></td></tr>// <tr><td></td><td><i>IBM WebSphere 5.x, 6.x</i></td><td></td></tr>// <tr><td></td><td><i>IBM WebSphere Community Edition 1.x</i></td><td></td></tr>// <tr><td></td><td><i>JBoss 3.2.x, 4.0.x, 4.2.x</i></td><td></td></tr>// <tr><td></td><td><i>Mortbay Jetty 4.x, 5.x, 6.x</i></td><td></td></tr>// <tr><td></td><td><i>Oracle Containers for J2EE (OC4J) 9.x, 10.x, 11.x</i></td><td></td></tr>// <tr><td></td><td><i>Oracle Application Server 10g 9.x, 10.x</i></td><td></td></tr>// <tr><td></td><td><i>Sun Application Server 8.x, 9.x</i></td><td></td></tr>// </table>//// <p>// <u><b>Troubleshooting</b></u>// <p>// This section covers some common problems with possible solutions. You may also need to refer to the// documentation for your specific application server, web server, or database. If you experience any problems// installing and configuring SmartClient in your environment, please post on the // <a href="http://forums.smartclient.com/" target='_blank'>SmartClient forums</a> for// assistance.// <p>// <table width="90%" class="normal" align="center" border="1" cellpadding="5">// <tr bgcolor="#808080">// <td width="30%"><b>Problem</b></td>// <td width="30%"><b>Possible Causes</b></td>// <td width="40%"><b>Solution</b></td>// </tr><tr>// <td rowspan='3'>Browser displays a generic "page cannot be displayed" or "unable to locate the server" message.</td>// <td>Servlet engine not started.</td>// <td>Start your application server.</td>// </tr><tr>// <td>Missing/incorrect port for servlet engine in URL.</td>// <td>Check the startup messages, logs, or documentation for the servlet engine to determine what port it is using.</td>// </tr><tr>// <td>Host name is incorrect.</td>// <td>Check whether other pages on the host can be accessed.// Try the base URL http://[host name]:[port number] to see whether the servlet engine or webserver is functioning.</td>// </tr><tr>// <td>Browser displays a 404 or other page/file not found error.</td>// <td>Incorrect URL.</td>// <td>Check for errors in the URL, including capitalization.</td>// </tr><tr>// <td>Server error: taglib not defined</td>// <td>Missing iscTaglib.xml or iscTaglib.xml not referenced in web.xml</td>// <td>Copy WEB-INF/iscTaglib.xml from smartclientRuntime to your deployment WEB-INF directory// and make sure that you have merged the <jsp-config> section from the// smartclientRuntime web.xml</td>// </tr><tr>// <td>ClassNotFound or other Java Exceptions in the server log.</td>// <td>Missing JAR files</td>// <td>Verify every .jar from the smartclientRuntime WEB-INF/lib directory has been copied to// your deployment WEB-INF/lib. Although you might later be able to remove some .jars, for// initial installation testing, copy every .jar</td>// </tr><tr>// <td>"isc" is not defined JS error</td>// <td>Incorreect URLs to SmartClient modules</td>// <td>use View Source to look at SCRIPT includes (e.g. for ISC_Core.js), try those URLs// directly in the browser to verify the files are correctly deployed</td>// </tr>// </table>// // @treeLocation Concepts// @title Deploying SmartClient// @visibility external//<//> @groupDef iscServer//// The SmartClient Server is a set of Java libraries, servlets and tools that provide the key// server-side components needed to build a complete application in the modern web// architecture.// <P>// The SmartClient Server can be +link{group:iscInstall,integrated} into any pre-existing Java// application, and is designed to rapidly connect SmartClient visual components to// pre-existing Java business logic or persistence engines. SmartClient's Ajax request// processing facilities can be easily integrated into Struts Actions,// +link{group:springIntegration,Spring controllers}, or custom servlets and JSPs.// <P>// Alternatively, the SmartClient Server provides a complete SQL and Hibernate-based// persistence engine for new applications, with out-of-the-box servlets for processing Ajax// data requests.// <P>// The SmartClient Server is optional, and SmartClient's client-side Ajax engine can be// integrated with any server that provides HTTP access, using XML, JSON, SOAP or proprietary// data protocols. However any server in a modern web application will be required to provide// most or all of the features of the SmartClient Server (described below), and the SmartClient// Server represents a best-of-breed implementation of these facilities with a long history of// high-volume production deployments.// <P>// <h4>Server enforcement of +link{class:Validator,Validators}</h4>// <P>// Data passed from the browser can be automatically validated by the SmartClient Server.// In contrast, when using +link{group:clientDataIntegration,client-side integration},// data arrives as HTTP params or XML messages, and you must parse values into the correct// types (eg java.util.Date) and validate them, or use a server framework that does so.// <P>// <h4>High Speed Data Delivery / Data Compression</h4>// <P>// The SmartClient Server delivers data to and from the browser using a proprietary, maximally// efficient protocol, providing simple Java APIs for sending and receiving data.// <P>// SmartClient's data protocol is:// <ul>// <li> automatically compressed: provides 6-8x improvement in bandwidth utilization// <li> efficient on the server: high speed data serialization for any Java Object// <li> efficient in the browser: faster than ordinary XML or JSON data delivery// <li> minimal: facilities for +link{dataSource.dropExtraFields,trimming} and// +link{dataSourceField.valueXPath,extracting} only the data you want the browser to see// </ul>// <P>// <h4>Transparent upload support</h4>// <P>// SmartClient provides special client and server-side support for +link{group:upload,file// upload}, which allows single and multiple-file HTTP uploads to be performed as a background
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -