370 likes | 454 Vues
Web-Application Development Workshop. Session Aims & Objectives. Aims to introduce the main concepts involved in creating web-applications Objectives, by end of this week’s sessions, you should be able to: create an html page create objects by adding html tags
E N D
Session Aims & Objectives • Aims • to introduce the main concepts involved in creating web-applications • Objectives,by end of this week’s sessions, you should be able to: • create an html page • create objects by adding html tags • create an asp (VB.Net, C#), JSP, PhP page • make your page interactive • respond to events, read in form input and display dynamic output • connect to a database – display data M Dixon
Admin • Attendance Register: • log in to your profile M Dixon
HTML: Elements & Tags Hyper-Text Markup Language text files – edited with notepad tags, e.g. <b><html></a> element = start tag + content + end tag bold: <b>This will be in bold</b> italic: <i>This will be in italic</i> work like brackets start/open <b> <i> end/close </b> </i> M Dixon
Questions: Tags How many tags are in the following: <head><title>Hello</title></head> <body> <i>Soft</i><b>131</b> </body> 4 6 M Dixon
Questions: Elements How many elements are in the following: <head><title>Hello</title></head> <body> <i>Soft</i><b>131</b> </body> 2 3 M Dixon
HTML: Nesting Elements • Nesting – puts one element inside another: <b><i>Hello</i></b> • Cannot overlap elements: <b><i>Hello</b></i> M Dixon
Questions: HTML Elements Which of the following are valid elements? <center><b>Title</b> <head><title></title></head> <p>Good <b>morning.</p></b> <body><i>Soft</i><b>131</b></body> M Dixon
HTML: page structure every HTML page has 2 sections: head (info) body(content) <html> <head> <title>Test</title> </head> <body> <p>This is a test <b>page</b>.</p> </body> </html> M Dixon
spaces are used to move lines in from left helps see structure Indentation <html> <head> <title>Test</title> </head> <body> <p>This is a test <b>page</b>.</p> </body> </html> <html> <head> <title>Test</title> </head> <body> <p>This is a test <b>page</b>.</p> </body> </html> head (is inside html) title(is inside head) M Dixon
HTML: Attributes Some tags need extra information to work: Anchor (hyper-link) element: <a href=“nextpage.htm”>Next Page</a> Image element: <img src=“Beach.jpg” /> Embedded object element: <embed src=“Music.mp3”></embed> attribute (page to jump to) attribute (filename of picture to display) attribute (filename of music to play) M Dixon
Attributes go inside the start tag: <a href=“nextpage.htm”>Next Page</a> not anywhere else <a>href=“nextpage.htm”Next Page</a> HTML: Attributes (where) start tag attribute start tag M Dixon
Questions: HTML attributes Consider the following HTML:<a href="next.htm">Next Page</a> Give an example of an attribute Is the following an attribute? <img src=“House.jpg”> How many attributes are there in: <font color=“green” size=3> href="next.htm" No (start tag) 2 M Dixon
HTML Tags: Reference Lots of info available on-line, e.g.: http://www.willcam.com/cmat/html/crossref.html Short list of tags: <p>: new paragraph <b>: bold text <i>: italic text <a>: anchor (link) to another web page <img>: image/picture (.bmp, .jpg, .gif) <embed>: embedded object (.avi .mpg .wav .mp3) M Dixon
Example: Default.aspx (VB) <%@ Page Language="VB" %> <script runat="server"> Sub Page_Load() End Sub </script> <html> <head><title></title></head> <body> <form runat="server"> </form> </body> </html> M Dixon
Example: Default.aspx (C#) <%@ Page Language="C#" %> <script runat="server"> void Page_Load(){ }; </script> <html> <head><title></title></head> <body> <form runat="server"> </form> </body> </html> M Dixon
Example: Date.aspx <%@ Page Language="VB" %> <script runat="server"> Sub Page_Load() lblDate.InnerHtml = Format(Now(), "ddd dd MMM yyyy") lblTime.InnerHtml = Format(Now(), "hh:mm:ss") End Sub </script> <html> <head><title></title></head> <body> <span id="lblDate" runat="server"></span> <span id="lblTime" runat="server"></span> </body> </html> M Dixon
Example: Temperature.aspx <%@ Page Language="VB" %> <script runat="server"> Sub btnCalc_ServerClick(ByVal s As Object, ByVal e As EventArgs) lblCel.InnerHtml = ((txtFah.Value - 32) * 5) / 9 End Sub </script> <html> <head><title>Temperature Conversion</title></head> <body> <form runat="server"> <input id="txtFah" type="text" runat="server" /> <input id="btnCalc" type="submit" value="Calculate" runat="server" onserverclick="btnCalc_ServerClick" /> <span id="lblCel" runat="server"></span> </form> </body> </html> M Dixon
Example: PACS_VB.aspx <%@ Page Language="VB" %> <%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> Sub Page_Load() Dim cs As String = "Provider=Microsoft.Jet.OLEDB.4.0;" + _ "Data Source=" + Server.MapPath("PACS.mdb") + ";" + _ "Persist Security Info=False" Dim sql As String = "SELECT * FROM [Image] ORDER BY [Date] DESC;" Dim cn As New OleDbConnection(cs) Dim cmd As New OleDbCommand(sql, cn) Dim r As OleDbDataReader Dim s As String cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s + r("Title") + "<br>" Loop cn.Close() lblRes.InnerHtml = s End Sub </script> <html> <head><title></title></head> <body> <p id="lblRes" runat="server"></p> </body> </html> M Dixon
Example: PACS_CS.aspx <%@ Page Language="C#" %> <%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(){ string cs = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("PACS.mdb") + ";" + "Persist Security Info=False"; string sql = "SELECT * FROM [Image] ORDER BY [Date] DESC;"; OleDbConnection cn = new OleDbConnection(cs); OleDbCommand cmd = new OleDbCommand(sql, cn); OleDbDataReader r; string s; cn.Open(); r = cmd.ExecuteReader(); s = ""; while(r.Read()){ s = s + r["Title"] + "<br>"; }; cn.Close(); lblRes.InnerHtml = s; } </script> <html> <head><title></title></head> <body> <p id="lblRes" runat="server"></p> </body> </html> M Dixon
Example PACS.jsp <%@page import="java.sql.*"%> <%@page contentType="text/html"%> <% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection cn = DriverManager.getConnection("jdbc:odbc:PACSdb", "", ""); Statement st = cn.createStatement(); ResultSet r = st.executeQuery("SELECT * FROM [Image] ORDER BY [Date] DESC;;"); String html = ""; while(r.next()){ html += r.getString("Title") + "<br />"; } cn.close(); %> <!DOCTYPE html> <html> <head><title></title></head> <body> <%=html%> </body> </html> M Dixon
Example: PACS.php (MS Access) <?php $c = odbc_connect('PACSdb', '', ''); $r = odbc_exec($c, 'SELECT * FROM [Image] ORDER BY [Date] DESC;'); $s = ''; while(odbc_fetch_row($r)){ $s = $s . odbc_result($r, 'Title') . '<br>'; } odbc_close($c); ?> <html> <head><title></title></head> <body> <?php echo $s; ?> </body> </html> M Dixon
Example: PACS.php (MySQL) <?php $c = mysql_connect('localhost', 'root', ''); mysql_select_db('PACS'); $q = mysql_query('SELECT * FROM [Image] ORDER BY [Date] DESC;'); mysql_close($c); $s = ''; while ($r = mysql_fetch_array($q)){ $s = $s . $r['Title'] . '<br />'; } mysql_free_result($q); ?> <html> <head><title></title></head> <body> <?php echo $s; ?> </body> </html> M Dixon
How to: Environment Settings M Dixon • If you install Visual Studio on your laptop: • Choose VB settings (same as my laptop):
How to: Create Web Site 1. Click File menu 2. Click New Web Site menu item 3. Click Visual Basic item 4. Click ASP.NET Empty Web Site item 5. Click File System item 6. Click Browse button M Dixon
How to: Create Web Site 7. Navigate to your USB stick 8. Type name in folder box (e.g. \MySummer) 9. Click Open button 10. Click Yes button 11. Click OK button M Dixon
How to: Create Web page 12. Click Add New Item button (or right click project name) 13. Click HTML Page item 14. Change page name (e.g. MySummer.htm) 15. Click Add button M Dixon
How to: Edit code 16. Click Source button M Dixon
How to: View page (Run) 17. Click Play button 18. Click OK button (to enable debugging) M Dixon
How To: Create Web-Site Project 1. Click File menu 2. Click New Project menu item 3. Click JavaWeb item 4. Click WebApplication item 5. Click Next button M Dixon
How To: Create Web-Site Project 6. Type Project Name in textbox 7. Click Browse button, and select location 8. Click Next button 9. Select Apache Tomcat 10. Select Java EE 6 11. Click Next button M Dixon
How To: Create Web-Site Project 12. Clear all checkboxes 13. Click Finish button 14. Edit code 15. Run page (press Play button) M Dixon
How to: Create Data Source 64bit Problem – No MS Access driver Solution:use C:\Windows\SysWOW64\odbcad32.exe M Dixon Start Menu Control Panel Administrative Tools Data Sources (ODBC) System DSN Add
How to: Create Data Source • Select MS Access Driver • Click Finish M Dixon
How to: Create Data Source • Type Data Source Name • Click Select button M Dixon
How to: Create Data Source • Locate Database • Select Database • Click OK • Click OK • Click OK M Dixon