1 / 15

Cold Fusion Tutorial

Cold Fusion Tutorial. Chris Marin. Web Application Server. Cold Fusion is made by Allaire Allaire and Macromedia are in the process of merging. We can expect even tighter integration of their tools Macromedia’s Dreamweaver Ultradev already works with Cold Fusion

katima
Download Presentation

Cold Fusion Tutorial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cold Fusion Tutorial Chris Marin

  2. Web Application Server • Cold Fusion is made by Allaire • Allaire and Macromedia are in the process of merging. • We can expect even tighter integration of their tools • Macromedia’s Dreamweaver Ultradev already works with Cold Fusion • Macromedia and Allaire have been working on a project called Harpoon that integrates Cold Fusion with Flash.

  3. Request/Response Diagram • In a traditional web transaction a client requests an HTML document from the web server, which returns it. In other words, a web server is really only acting like a glorified file server. • When an application server like Cold Fusion is added, requests for .cfm documents are passed from the web server to the application server to be processed before being sent to the client. • The client still only receives HTML. As far as it is concerned a .cfm document is no different than a .htm document.

  4. Comparison to other Server Side Technologies • Other popular technologies for server side web development include: • Microsoft’s Active Server Pages • Java Server Pages • PHP • Perl • Cold Fusion’s strength is that the tag based language that it relies upon called CFML is extremely simple in comparison to the others. • Cold Fusion Markup Language was built from the ground up for web application development. Some of the other technologies, like JSP and ASP, started with a general purpose language, and then used somewhat awkward contortions to turn them into web scripting languages. Perl on the other hand was invented before the advent of the World Wide Web. • You can often do something in three or four lines with CF that take 10 or fifteen with the others. • One of the disadvantages of CF is that the Professional and Enterprise editions cost $1300 and $5000 respectively, whereas ASP comes with all Microsoft Servers and JSP/PHP/Perl can be had for free (Cold Fusion Express is available for free for noncommercial use). Cold Fusion is also not as fast as something like PHP.

  5. Cold Fusion Markup Language Primer Setting variables: Strings • <cfset hello= “Hello World” > //Sets a variable called test to the string Hello World. Numbers • <cfset foo = 5> //Sets a variable called foo to the number 5. Note the lack of quotation marks. Booleans • <cfset truth = true>//Sets the variable truth equal to the boolean value true. Arrays • <cfset testarray = ArrayNew(1)>//Creates a 1 dimensional array called testarray • <cfset testarray[1] = "Bob">//Inserts the string Bob into the first position • <cfset testarray[2] = "Billy">//Inserts the string Billy into the second position. • <cfset twodarray = ArrayNew(2)>//Creates a 2D array. • <cfset twodarray[1][1] = "Bob"> • <cfset twodarray[1][2] = "Billy">

  6. Cold Fusion Markup Language Primer Evaluating Expressions: • Cold Fusion supports the usual Operands: + - * / MOD • <cfset bar = 5 + 5> //Sets the variable bar to the number 10. • To concatenate strings use & • <cfset hello= “Hello World” > • <cfset twohellos = hello & hello>//Sets variable twohellos equal to the string Hello WorldHello World If/Else Conditionals • <cfif foo is 5> //Do something <cfelseif foo is 4> //Do something else <cfelse> //If the previous conditions were not satisfied do this. </cfif>

  7. Cold Fusion Markup Language Primer Loops • <cfloop from="1" to="5" index="i"> //Do something i number of times. </cfloop> Include another page • <cfinclude template=“somepage.htm">//Works just like SSI Output stuff back to the browser • <cfoutput > #name_of_variable# //It is possible to intermix HTML/JavaScript here </cfoutput>

  8. Cold Fusion Markup Language Primer Variable Scope Local Variables • <cfset hello= “Hello World” > //Sets a local variable. This variable is only valid on that page. Session Variables • <cfset Session.hello= “Hello World” > //Sets a Session variable. This variable can be accessed across multiple pages during a single visit. • In order to use Session variables you must create a document called Application.cfm and insert the line: <CFAPPLICATION NAME=“App_Name" SESSIONMANAGEMENT="Yes" SETCLIENTCOOKIES="Yes"> URL Variables • Url.variable_name //URL variables. For example in the URL http://somewhere.com/tutorial1.cfm?urlvar=test55 The variable urlvar is set to test55. Form Variables • Form.variable_name //Form variables are set in HTML form objects.

  9. HTML Forms • The most important attributes are “action” which specifies the template you want to send the values to and the name/value pairs of each form object. • Typical HTML Form: <form action="outputform.cfm" method="post"> <p> Name: <input type="text" name="name"> </p> <p> Gender : Male <input type="radio" name="gender" value="male"> Female <input type="radio" name="gender" value="female"> </p> <p>School <select name="school"> <option value="Cal">Cal</option> <option value="Stanford">Stanford</option> <option value="UCLA">UCLA</option> </select> </p> <input type="submit" name="Submit" value="Submit"> </form>

  10. Use Form Variables • To output to the browser: <cfoutput> #Form.name#<br> #Form.gender# <br> #Form.school# <br> </cfoutput> • To email the form variables: <cfmail to="test@test.com" from="sender@somewhere.com" subject="#Form.name# visited the site" server="mail.somewhere.com"> #Form.name# is a #Form.gender# that goes to #Form.school# </cfmail>

  11. SQL Primer/The Most Useful Commands • Select: Allows you to pull records out of a database. Usage: SELECT [Field names] FROM [Table Names] WHERE [Some Expression] For example. To get the names and schools out of the user table we could use: SELECT name, gender FROM user To get all of Lisa’s info we could use: SELECT * FROM user where name = ‘Lisa’ //Note the single quotes • Insert: Allows you to put records into a database. Usage: INSERT INTO [Table Name] ([Name of field 1], [Name of Field 2],…) VALUES ([Value 1], [Value 2],…) For example, to put a new person in this table we could use: INSERT INTO user (name, gender, school) VALUES (Bob, male, Cal) //Note that the ID field in this particular table is generated automatically

  12. SQL Primer/Using DB Queries with CF • Update: Allows you to update database records. Usage: UPDATE [Table Name] SET [Field Name] = ‘[Some Value]’ WHERE [Some Expression] For example. To change Lisa’s school we could use: UPDATE users SET school = ‘Cal’ WHERE ID = 2 • To use SQL queries in CF: <cfquery name=“query_name" datasource=“ds_name" dbtype="ODBC"> INSERT SQL QUERY HERE </cfquery> For example, to get values out of a form and put them in the db we could use the following: <cfquery name="insertvalues" datasource="tutorial" dbtype="ODBC"> INSERT INTO user (name, gender, school) VALUES('#Form.name#', '#Form.gender#', '#Form.school#') </cfquery>

  13. Using DB Queries with CF • To get something out of a db to display in the browser • First Run the query: <cfquery name="getstuff" datasource="tutorial" dbtype="ODBC"> SELECT * FROM user </cfquery> • Then output the results to the browser <cfoutput query="getstuff"> #name# #school# #gender# <br> </cfoutput> • Each field must be enclosed within # signs. CF will automatically loop through all of the records returned by the query and print them. In this example, the HTML tag <br>inserts a line break after each record.

  14. We just scratched the surface… • Cold Fusion has a rich expression language. The easiest way to access this is to use Cold Fusion Studio’s Expression Builder • CF gives you easy access to things like POP, LDAP, CORBA, COM/DCOM • You can instantiate Java Beans as Cold Fusion objects • You can use CF to write WAP applications • CF has a built in search engine. It can create an Index of db tables or scan directories for MS Office/PDP/HTML documents. It also allows you to use boolean searches and performs ranking. • It is possible to extend CF by writing your own tags in CFML/Visual C++ or Java. • Visit Allaire’s Developers Exchange where you can download hundreds of free tags.

  15. The Future • Allaire also makes a JSP server called JRun • Jrun and Cold Fusion are set to merge in a product called Neo by the end of this year. • Neo will be a J2EE compliant application server that will automatically turn CFML templates into portable servlets. • Preliminary public demonstrations of Neo showed that it ran three times as fast as CF does now. • With this setup we get the best of both worlds, the power of J2EE combined with the simplicity of CFML (At least in comparison to other languages, check out Perl )

More Related