Første
Server-Side JavaScript serie, Planche nr. 9
Kursus Indhold

Udskrift af : Server-Side JavaScript

Planche 1 : Server-Side JavaScript

Server-Side JavaScript kaldes også Netscape LiveWire.

Planche 2 : Miljø

Der er også en artikel i ViewSource e-magasinet om Server-Side JavaScript brugt til en database applikation, og sammenlignet med PERL.

Planche 3 : Eksempel på Perl-CGI

Planche 4 : Eksempel på JavaScript

ServerSide JavaScript (LiveWire)

Planche 5 : JavaScript-koden

Programmet består af 3 dele Den underliggende database har to tabeller

Planche 6 : "Startside" for JavaScript

Dette er "startsiden" for JavaScript-implementeringen


////////////////////////////////////////////////////////////////////////
///
//      project.html - LiveWire and Server-Side JavaScript
//      Implementation
//
//  Example applications project file.  Establishes database connections 
//  shared by all users of example application.
////////////////////////////////////////////////////////////////////////
///
if (project.productDB == null) {
   project.lock();
   project.productDB = new Object();
   project.productDB.pool =
     new DbPool("ODBC", "PRODUCT", "plazar", "plazar", " ", 5, false);
   project.unlock();
}

Planche 7 : HTML-indgangsside

"Lige ud af landevejen"-HTML
<HTML><HEAD>

<!--
////////////////////////////////////////////////////////////////////////
///
//      LiveWire.html - LiveWire and
//Server-Side JavaScript Home Page
////////////////////////////////////////////////////////////////////////
///
-->
<TITLE> LiveWire and Server-Side JavaScript Home Page
</TITLE></HEAD>
<BODY>
<H2>List Generated Dynamically from Database Using Netscape
Enterprise Server 3.0's Server-Side JavaScript and LiveWire</H2>
<P>Click <A HREF=lw_category.html>here</A> to generate
a list of 
hyperlinks from the CATEGORY table.
</BODY>
</HTML>

Planche 8 : Kategory-siden

HTML, men med indlejret JavaScript
<HTML><HEAD> <SERVER>
////////////////////////////////////////////////////////////////////////
///
//  lw_category.html - LiveWire and Server-Side JavaScript
//Implementation
//
//  This page displays a list of categories from the CATEGORY
//table. 
//  The category names are hyperlinked and lead to a page with
//associated
//  products from the PRODUCT table.
////////////////////////////////////////////////////////////////////////
///
</SERVER>
<TITLE>Categories</TITLE>
</HEAD><BODY>
<P> <B>Select a Category:</B>
<UL>
<SERVER>

if (project.productDB.pool.connected()) { 
    var conn =
project.productDB.pool.connection("conn", 60);

    conn.beginTransaction();
    qs = "SELECT category_id, category_name from
CATEGORY"; 
    results = conn.cursor(qs);
    while (results.next()) {
         
write("<LI><A
HREF=\"lw_product.html?category_id="+results.category_id+"\">"
         

    }     results.close();     conn.commitTransaction();        conn.release(); } else {     write("<p>Database connection failed"); }</SERVER></UL> </CENTER> </BODY></HTML>

Planche 9 : Produkt-side

HTML, med indlejret JavaScript
<HTML><HEAD>
<SERVER>
////////////////////////////////////////////////////////////////////////
///
//  lw_product.html - LiveWire and Server-Side JavaScript
//Implementation
//
//  This page displays a list of products from the PRODUCT table
//  for a given category_id. 
////////////////////////////////////////////////////////////////////////
///
</SERVER>
<TITLE>Categories</TITLE>
</HEAD><BODY>
<P>
<UL>
<SERVER>

if (project.productDB.pool.connected()) {
   var iCategoryID = request.category_id;
   var conn =
project.productDB.pool.connection("conn", 60);

   conn.beginTransaction();
   qs = "SELECT product_name from PRODUCT WHERE
category_id =" + iCategoryID; 
   results = conn.cursor(qs);
   while (results.next()) {
        
write("<LI>"+results.product_name+"</A>\n");
   }
   results.close();
   conn.commitTransaction();
   conn.release();   
}
else {
        write("<p>Database
connection failed");
}</SERVER></UL>
</BODY></HTML>


© 1999 BLA*net - Leif E. Andersen, leander@blanet.dk