CSC 551: Web Programming
Specific goals for the course
To develop an understanding of the technology and protocols underlying the Web.
To become familiar with the common tools and techniques for developing Web-based
applications, both client-side and server-side.
developing Web applications.
programming & problem solving
interface design and implementation
ability to research and learn from external sources
collaborative learning & development
Internet & Web technologies
history of Internet
networking 7-layer model, TCP/IP protocols
history of World Wide Web
HyperText Transfer Protocol (HTTP)
GET/POST requests, request headers (e.g., If-Modified-Since, ...)
response headers (e.g., status code, Last-modified, ...)
static vs. dynamic pages, client-side vs. server-side programming
HyperText Markup Language (HTML)
tags vs. elements
structural elements, text layout, text styles, lists
hyperlinks, images, tables, frames
STYLE attribute for an element vs. STYLE tag in HEAD vs. STYLE file
variables, assignments, functions, classes/objects, ...
SCRIPT tags, prompt, document.write
form elements: button, text box, text area, selection list, ...
properties: e.g., name, type value
event handlers: e.g., onblur, onfocus, onchange, onclick, ...
techniques: form validation, output to window/frame, timeouts, cookies
platform independence, portable, secure, simple, object-oriented, ...
source code compiled into Java byte code, then interpreted
class vs. instance variables/methods, primitive vs. reference types
automatic garbage collection, inheritance from Object, class libraries
inherit from Applet class, default methods include init, paint, ...
APPLET & OBJECT tags, applet parameters & dimensions
Graphics object, methods (drawRect, drawString, ...), double buffering
GUI elements, JavaBeans, Java Archive (JAR) files
advantages: cross-platform, more tools/power, code integrity
Common Gateway Interface (CGI)
language-neutral protocol for Web server/program communication
reads from standard input: URL-encoded data containing field names & values
writes to standard output: response header + blank + page data
Microsoft DNA, including Active Server Pages
Java servlets: server-side applets, like CGI but executed as part of server
PHP: server-side scripting language, similar to ASP not vendor specific
Dynamic HTML, ActiveX, XML