49
1 ENG224 INFORMATION TECHNOLOGY – Part I 4. Internet Programming 4. Internet Programming 4. Internet Programming

4 internet programming

Embed Size (px)

Citation preview

Page 1: 4 internet programming

1

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

4. Internet Programming4. Internet Programming

Page 2: 4 internet programming

2

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Reference

H.M. Deitel, P.J. Deitel and T.R. Nieto, Internet and World Wide Web: How to Program, Prentice Hall, 2002

Page 3: 4 internet programming

3

Web site development

To develop a Web site, three steps:1. Obtain the appropriate equipment

Web Server – hardware and software2. Register the Web Server to an Internet

Service Provider (ISP) Obtain the IP address and DNS address

3. Develop the contents Internet Programming

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 4: 4 internet programming

4

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Internet Programming

Web service is a kind of client / server process Need interaction between client and server Programming for providing Web service can

also be divided into – Client-side programming: to define the operation to

be performed on the client’s machine– Server-side programming: to define the operation to

be performed on the server

Page 5: 4 internet programming

5

Server-side Programming

Skills that are often required:• CGI• PHP• ASP• Perl• Java Servlet, …

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Web ClientWeb Server

Internet

Client-side Programming

Skills that are often required:• XHTML• Javascript• Java• Dreamweaver• Flash• SMIL, XML …

Database

Page 6: 4 internet programming

6

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming - XHTML

4.1 XHTML – Extensible HyperText MarkUp Language

Page 7: 4 internet programming

7

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming - XHTML

Web programming using XHTML

Nowadays, there are many tools that help to develop Web page – Dreamweaver, Visual studio

Provide sophisticated tools to allow Web page developed in a graphical manner

Finally, the job of these tools is to convert the user design to XHTML code

Understanding of XHTML allows us– fine tuning the codes generated by these tools– understand the source of a Web page

Page 8: 4 internet programming

8

What is XHTML? Unlike procedural programming languages, e.g. C, C++, XHTML

is a markup language that specifies the format of document to be seen in browser

XHTML has replaced the HTML as the primary means of describing the Web page content

Become a World Wide Web Consortium (W3C) recommendation– W3C is an industry consortium

– Seeks to promote standards for the evolution of the Web and interoperability between WWW products by producing specifications and reference software

Compared with HTML, XHTML provides more robust, richer and extensible features

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming - XHTML

Page 9: 4 internet programming

9

Features of XHTML Platform independent

– The same piece of code can give the same display in Mac, Linux and Windows

Text-based– Program is written with ASCII characters– Can be written using a text editor, such as notepad

An XHTML file must have an extension of .html or .htm Information is generally enclosed inside paired tags

– E.g. <html> … </html>– There are many tags in XHTML. They specify different

information required to display the Web page content

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming - XHTML

start tag end tag (with a /)

Page 10: 4 internet programming

10

Basic Structure of XHTML

<html><!-- This is a comment --><head>

<title>This is title, describing the content

</title>

</head><body>

This is body, main part of the page</body>

</html>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming - XHTML

Page 11: 4 internet programming

11

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming - XHTML

<?xml version = "1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!-- main.html --><!-- Our first Web page -->

<html xmlns = "http://www.w3.org/1999/xhtml"> <head> <title>Internet and WWW How to Program -

Welcome</title>

</head>

<body> <p>Welcome to XHTML!</p> </body></html> ExampleExample

define the namespace of htmldefine the namespace of html

useful for validating the code to see if they meet the xhtml standard

useful for validating the code to see if they meet the xhtml standard

commentcomment

define the title of the web pagedefine the title of the web page

<p> - new paragraph<p> - new paragraph

Page 12: 4 internet programming

12

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming - XHTML

See the title defined in head

That’s the content defined in body

Page 13: 4 internet programming

13

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming - XHTML

An XHTML document can be divided into 2 sections

head section– contains information of how the page is formatted– e.g. <title> … </title> can be found in head section

to indicate the title of the Web page when it is shown in browser

body section– contains the actual page contents– e.g. <p>Welcome to XHTML!</p> shows a line of

text “Welcome to XHTML!” on the new paragraph

Page 14: 4 internet programming

14

Tags Tags: case sensitive

– For XHTML, <center> is different from <CENTER>– For HTML, it is case insensitive

Browse will not display information within tag that does not understand

Tags: no precise positioning Many start tags define attributes that provide additional

information E.g. <html xmlns = "http://www.w3.org/1999/xhtml">

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

start tag attribute name attribute value

Page 15: 4 internet programming

15

Common Tags – Headers

Some text may be more important the others XHTML provides six headers, called header elements,

for specifying the relative importance of information– <h1> … </h1>, <h2> … </h2> to <h6> … </h6>

It is assumed the text in <h1> is more important than that in <h2> and so on so forth

By default, the size of the text that is more important is bigger

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 16: 4 internet programming

16

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

<html xmlns = "http://www.w3.org/1999/xhtml"> <head> <title>Internet and WWW How to Program -

Headers</title> </head>

<body>

<h1>Level 1 Header</h1> <h2>Level 2 header</h2> <h3>Level 3 header</h3> <h4>Level 4 header</h4> <h5>Level 5 header</h5> <h6>Level 6 header</h6>

</body></html>

6 headers are all used to indicate the relative importance of text

6 headers are all used to indicate the relative importance of text

Page 17: 4 internet programming

17

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Text under <h1> has the largest sizeText under <h1> has the largest size

Page 18: 4 internet programming

18

Meta TagHTML interacts with the search engines

through using meta tag

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

These words are compared with words in search requests

These words are compared with words in search requests

<head> <meta name=“keywords” content=“lecture notes, html, form, feedback”> <meta name=“description” content = “this web site describes …”></head>

Description of a page seen on searchingDescription of a page seen on searching

Page 19: 4 internet programming

19

Linking Webpage One of the most important XHTML features is

the hyperlink– Link to another resources, such as web page,

image, etc.

Achieve by using the anchor tag <a>:– To a web page:

<a href=“http://www.eie.polyu.edu.hk”>PolyU</a>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

anchor attributeanchor attribute

Value of the attribute:The address of the Web page

Value of the attribute:The address of the Web page

The name on the Web page that represents this link

The name on the Web page that represents this link

Page 20: 4 internet programming

20

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

<body> <h1>Here are my favorite

sites</h1>

<p><strong>Click a name to go to that page.</strong></p>

<!-- Create four test hyperlinks -->

<p><a href = "http://www.polyu.edu.hk">PolyU</a></p> <p><a href = "http://www.eie.polyu.edu.hk">EIE</a></p> <p><a href = "http://www.eie.polyu.edu.hk/~enpklun">

Dr Daniel Lun's Home</a></p> <p><a href = "http://www.eie.polyu.edu.hk/~enpklun/ENG224/ENG224.htm">ENG224 Home page</a></p> </body>

strong tag lets the text to be displayed with bold fontOther similar tags include <u> underline and <em> italic

strong tag lets the text to be displayed with bold fontOther similar tags include <u> underline and <em> italic

Four links createFour links create

Don’t introduce spaces between different parts of a URL address

Don’t introduce spaces between different parts of a URL address

Page 21: 4 internet programming

21

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Four links are includedFour links are included

This line is shown with a bold fontThis line is shown with a bold font

Page 22: 4 internet programming

22

Linking Email Addresses

To a mail address:<a href=“mailto:[email protected]”> Email me </a>

With a subject:<a href=“mailto:[email protected]?subject=title”>

Email me</a>

Multiple recipients:<a href=“mailto:address1,address2, address3”> Email me </a>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 23: 4 internet programming

23

Linking Images

Background Image can be defined as an attribute of the body tag:<body background=“image.gif”>

To show an Image inside a page:<img src=“image.gif” border=“0” height=“256”

width=“256” alt=“text description of the image”/> We can create an image hyperlink

<a href=“page1.html”><img src=“image.gif” …/>

</a>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 24: 4 internet programming

24

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

<body>

<p><img src = "xmlhtp.jpg" height = "238“ width = "183"

alt = "XML How to Program book cover"/> <img src = "jhtp.jpg"

height = "238" width = "183" alt = "Java How to Program book cover"/> </p></body>

Will scale to this size to displayWill scale to this size to display

jhtp.jpg in fact cannot be found. With the alt attribute, the statement is displayed if the image is not found

jhtp.jpg in fact cannot be found. With the alt attribute, the statement is displayed if the image is not found

empty element:do not markup text

empty element:do not markup text

Page 25: 4 internet programming

25

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

“alt” statement (may not display the same for Netscape)

“alt” statement (may not display the same for Netscape)

The image displayed at the specified size

The image displayed at the specified size

Page 26: 4 internet programming

26

Color 2 ways to specify:

– Use hexadecimal numbers– RGB format: FF: strongest, 00 weakest

#FF0000#00FF00#0000FF

– Use color namesBlack, White, Red, Cyan, Green, Purple,

Magenta, Blue, Yellow, OrangeRed, SpringGreen, BlueViolet, Gold, DarkGoldenrod, Burlywood, …

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 27: 4 internet programming

27

Color Background color:

– <body bgcolor=“#00FF00”> … </body>– <body bgcolor =“green”> … </body>

Text color, links, visited links and activated links:– <body bgcolor =“white” text=“black” link=“purple”

vlink=“blue” alink=“yellow”>

Font color:– <font color=“green”> … </font>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 28: 4 internet programming

28

Formatting Text The format of displayed text can be changed by using

<font> … </font> Attributes:

– Color:– Size:

Relative: +1, +2, -3, …Absolute: 10, 12, …

– Face: Font usedArial, Verdana, Helvetica, Times, …Multiple fonts:<font face="Arial, Helvetica, sans-serif">

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 29: 4 internet programming

29

<body bgcolor = “#ffff00”> <p><font face="courier" color="green" size=“24”> This is a test.</font> <hr /> <font face="times" color="red" > This is a test.</font> </p> <p> <font face="arial" color="red" size=“+1”> This is a test.</font> <br />

<font face="times" color="#ff00ff" size=“+2”> This is a test.</font> </p> <p align = center><font face="courier" size=“+3”> This is a test.</font> </p></body>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

horizontal rulerhorizontal ruler

background color is yellowbackground color is yellow

the backslash is only to improve readability

the backslash is only to improve readability

the text is placed at the centerthe text is placed at the center

See the difference between <p> and <br>

See the difference between <p> and <br>

Page 30: 4 internet programming

30

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

default sizedefault size

size = +1, +2, +3size = +1, +2, +3

size = 24size = 24

Page 31: 4 internet programming

31

Lists Unordered list

– a list that does not order its items by letter or number– <ul> … </ul> creates a list where each item begins

with a bullet– List items: <li> … </li>– For example

<ul> <li>Apple</li>

<li>Orange</li> <li>Banana</li> </ul>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 32: 4 internet programming

32

Lists Ordered list

– List that order their items by letter or number

– <ol type=“style”> … </ol>When style equals to 1: decimal, 1, 2, 3, … I: uppercase Roman, I, II, III, … i: lowercase Roman, i, ii, iii, … A: uppercase Latin, A, B, C, … a: lowercase Latin, a, b, c, …

– List items: <li> … </li>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 33: 4 internet programming

33

Table Organize data into rows and columns

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Table header

Table body

Table footer

Table border

Table caption

Page 34: 4 internet programming

34

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

<table attribute=“value”> … </table> Attribute examples:

– border=“1” the larger the number, the thicker is the border. “0” means no border

– align=“center” the table is aligned at the center of the browser

– width=“60%” to set the table width to 60% of the browser’s width

Caption of the table: <caption> … </caption> Insert a table row: <tr> … </tr> The head, body and foot sections are defined by

<thead> … </thead> <tbody> … </tbody><tfoot> … </tfoot>

Page 35: 4 internet programming

35

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

<table border = "1" width = "40%" align = left summary = "This table provides information about the price of fruit">

<caption><strong>Price of Fruit</strong></caption>

<thead> <tr> <!-- <tr> inserts a table row --> <th>Fruit</th> <!-- insert a heading cell --> <th>Price</th> </tr> </thead>

<tbody> <tr> <td>Apple</td> <!-- insert a data cell --> <td>$0.25</td> </tr>

The tr tag insert a new row

The tr tag insert a new row

The use of th tag defines the content of header or footer cells

The use of th tag defines the content of header or footer cells

Page 36: 4 internet programming

36

<tr> <td>Orange</td> <td>$0.50</td> </tr> <tr> <td>Banana</td> <td>$1.00</td> </tr> <tr> <td>Pineapple</td> <td>$2.00</td> </tr> </tbody>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

<tfoot> <tr> <th>Total</th> <th>$3.75</th> </tr> </tfoot></table>

The use of th tag defines the content of header or footer cells

The use of th tag defines the content of header or footer cells

The use of td tag defines the content of body cells

The use of td tag defines the content of body cells

Page 37: 4 internet programming

37

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 38: 4 internet programming

38

Col span and Row span

colspan and rowspan allow merging columns/rows– <colspan=“number”>

data cell spans more than one column

– <rowspan=“number”> data cell spans more than one row

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 39: 4 internet programming

39

<table border=“1” width=“60%”> <caption> Average Grades </caption> <tr>

<th colspan=“4”> Report </th> </tr>

<tr> <th> </th> <th> 2000 </th> <th> 2001 </th> <th> 2002 </th>

</tr> <tr> <td> Maths </td> <td> A </td> <td rowspan=“2”

valign=“center”> B </td> <td> C </td> </tr> <tr> <td> English </td> <td> C </td> <td> A </td> </tr>

</table>

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

first rowfirst row

2nd row2nd row

3rd row3rd row

4th row4th row

vertical alignmentvertical alignment

Page 40: 4 internet programming

40

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 41: 4 internet programming

41

Forms

When browsing web sites, users often need to provide information such as email address, search keywords, etc

Forms allows user to input information

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 42: 4 internet programming

42

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Web ClientWeb Server

Internet

www.abc.com/form.htm1

2www.abc.commethod = post or getaction = program name (script) in server to receive the dataName = ???and others

3

CGIApp

Page 43: 4 internet programming

43

A form element is inserted into a web page by the <form> tag

<form method = “value1” action = “value2”> … </form> Attributes:

– method = “post” or “get”Indicates the way the Web server will organize and

send you the form outputpost: causes changes to server data, e.g., update

a databaseget: does not cause any changes in server-side

data, e.g., make a database request– action = “”

Path to script, e.g., CGI

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 44: 4 internet programming

44

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

<form method = “post” action = “/cgi-bin/formmail”>

<input type=“radio” name=“size” value=“large”

checked=“checked”/> large

<input type=“radio” name=“size” value=“medium”/> medium

<input type=“radio” name=“size” value=“small”/>

small

</form>

script that will be called to execute in the server

script that will be called to execute in the server

use post methoduse post method

Only the radio button of large is checked

Only the radio button of large is checked

Page 45: 4 internet programming

45

Forms Elements inside a form are introduced by the

<input> tag <input>

– type=“hidden” name=“variable name”

value=“value that sends to the server”– type =“text” name=“” value =“” size=“25”– type =“submit” value =“”– type =“reset” value =“”– type =“checkbox” value =“” name=“”

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Page 46: 4 internet programming

46

Form example I<input type=“checkbox” name=“things”

value=“ham”/> Ham

<input type=“checkbox” name=“things” value=“sweetcorn”/> Sweet Corn

<input type=“checkbox” name=“things” value=“mushroom”/> Mushroom

<input type=“checkbox” name=“things” value=“chicken”/> Chicken

<input type=“checkbox” name=“things” value=“peas”/> Peas

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Indicate all 5 checkboxes belong to the same group

Indicate all 5 checkboxes belong to the same group

The words show on screenThe words show on screen

Thing that sends back to serverThing that sends back to server

Page 47: 4 internet programming

47

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Form example II

<input type="hidden" name=“title" value="Feedback" />

<p><label>Name: <input type= "text" name= "name" size="25"

maxlength="30"/> </label></p><input type= "submit" value="Submit your entries"/> <input type= "reset" value="Clear Your Entries"/>

send the input the textbox to serversend the input the textbox to server

clear the content of textboxclear the content of textbox

Data that would send to server but do not display on screen

Data that would send to server but do not display on screen

Page 48: 4 internet programming

48

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Form example III

<p><label>Comments:<br /> <textarea name= "comments" rows="4" cols="36">

Enter your comments here.</textarea> </label></p>

<p><label>Please input your password: <input name= "secret" type="password" size="25"/>

</label></p><input type= "submit" value="Submit Your Entries"/> <input type= "reset" value="Clear Your Entries"/>

Space is counted hereSpace is counted here

Masked by asteriskMasked by asterisk

Page 49: 4 internet programming

49

ENG224

INFORMATION TECHNOLOGY – Part I4. Internet Programming

Form example IV

<p><label>Rate our site:<select name= "rating">

<option value=“Amazing”selected="selected">Amazing</option>

<option value=“3”>3</option><option value=“2”>2</option><option value=“1”>1</option><option value=“0”>0</option>

</select></p> <input type= "submit" value="Submit Your Entries"/> <input type= "reset" value="Clear Your Entries"/>

The “selected” value here mean Amazing is selected default value

The “selected” value here mean Amazing is selected default value

Change to default value when reset

Change to default value when reset