Web Technologies: A Computer Science Perspective is ideal for courses in Web-based Systems (aka Web/Internet Programming/Systems) in Computer Science, MIS, and IT departments. Β This text introduces the key technologies that have been developed as part of the birth and maturation of the World Wide We
Web Technologies: A Computer Science Perspective
β Scribed by Jeffrey C. Jackson
- Publisher
- Prentice Hall
- Year
- 2006
- Tongue
- English
- Leaves
- 591
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Web Technologies: A Computer Science Perspective is ideal for courses in Web-based Systems (aka Web/Internet Programming/Systems) in Computer Science, MIS, and IT departments. Β This text introduces the key technologies that have been developed as part of the birth and maturation of the World Wide Web. It provides a consistent, in-depth treatment of technologies that are unlikely to receive detailed coverage in non-Web computer science courses. Students will find an ongoing case study that integrates a wide spectrum of Web technologies, guidance on setting up their own software environments, and a variety of exercises and project assignments.
β¦ Table of Contents
Cover ......Page 1
Title Page ......Page 2
Copyright ......Page 3
Contents......Page 4
Purpose and Scope......Page 12
Features......Page 13
Textbook Plan and Course Sequences......Page 14
Acknowledgments......Page 15
1.1 The Internet......Page 18
1.2.1 TCP/IP......Page 21
1.2.2 UDP, DNS, and Domain Names......Page 24
1.2.3 Higher-Level Protocols......Page 25
1.3 The World Wide Web......Page 26
1.3.1 Hypertext Transport Protocol......Page 27
1.4.1 Overall Structure......Page 29
1.4.3 Request-URI......Page 30
1.4.4 Request Method......Page 31
1.4.5 Header Fields and MIME Types......Page 32
1.5.1 Response Status Line......Page 34
1.5.2 Response Header Fields......Page 36
1.5.3 Cache Control......Page 37
1.5.4 Character Sets......Page 38
1.6 Web Clients......Page 40
1.6.1 Basic Browser Functions......Page 41
1.6.2 URLs......Page 42
1.6.3 User-Controllable Features......Page 44
1.6.4 Additional Functionality......Page 46
1.7.1 Server Features......Page 47
1.7.2 Server History......Page 48
1.7.3 Server Configuration and Tuning......Page 49
1.7.4 Defining Virtual Hosts......Page 53
1.7.5 Logging......Page 56
1.7.6 Access Control......Page 59
1.7.7 Secure Servers......Page 61
1.8 Case Study......Page 63
1.9 References......Page 64
Exercises......Page 66
2.1 An Introduction to HTML......Page 73
2.2.1 The βWarβ Years......Page 76
2.2.2 The Clean-up Effort......Page 78
2.3.1 Document Type Declaration......Page 81
2.3.2 White Space in Character Data......Page 82
2.3.3 Unrecognized Elements and Attributes......Page 84
2.3.4 Special Characters......Page 85
2.3.5 Attributes......Page 87
2.4.1 Headings: h1 and Friends......Page 89
2.4.2 Spacing: pre and br......Page 90
2.4.3 Formatting Text Phrases: span, strong, tt, etc.......Page 92
2.4.5 Images: The img Element......Page 93
2.4.6 Links: The a Element......Page 95
2.4.7 Comments......Page 96
2.4.8 Nesting Elements......Page 97
2.5 Relative URLs......Page 98
2.6 Lists......Page 100
2.7 Tables......Page 102
2.8 Frames......Page 106
2.9 Forms......Page 108
2.10 Defining XHTMLβs Abstract Syntax: XML......Page 115
2.10.1 Element Type Declarations......Page 116
2.10.2 Attribute List Declarations......Page 118
2.10.3 Entity Declarations......Page 121
2.10.4 DTD Files......Page 122
2.11 Creating HTML Documents......Page 123
2.12 Case Study......Page 124
2.13 References......Page 129
Exercises......Page 130
3.1 Introduction to Cascading Style Sheets......Page 138
3.2 Cascading Style Sheet Features......Page 140
3.3 CSS Core Syntax......Page 142
3.3.1 Selector Strings......Page 143
3.3.2 At-Rules......Page 148
3.4 Style Sheets and HTML......Page 149
3.5.1 Rule Cascading......Page 150
3.5.2 Style Inheritance......Page 154
3.6 Text Properties......Page 157
3.6.1 Font Families......Page 158
3.6.2 Length Specifications in CSS......Page 160
3.6.3 Font Properties......Page 163
3.6.4 Line Boxes......Page 164
3.6.5 Text Formatting and Color......Page 166
3.7.1 Basic Concepts and Properties......Page 168
3.7.2 Box Model Shorthand Properties......Page 171
3.8 Normal Flow Box Layout......Page 174
3.8.1 Basic Box Layout......Page 175
3.8.2 The display Property......Page 177
3.8.4 Block Box Width and Height......Page 179
3.8.5 Simple Inline Boxes......Page 183
3.8.6 Nested Inline Boxes......Page 185
3.9.1 Properties for Positioning......Page 186
3.9.2 Relative Positioning......Page 187
3.9.3 Float Positioning......Page 188
3.9.4 Absolute Positioning......Page 189
3.9.5 Positioning-Related Properties......Page 191
3.10.2 Tables......Page 193
3.11 Case Study......Page 194
Exercises......Page 200
4.1 History and Versions of JavaScript......Page 209
4.2 Introduction to JavaScript......Page 210
4.3 JavaScript in Perspective......Page 211
4.3.1 Scripting Languages......Page 212
4.3.2 Writing and Testing JavaScript Programs......Page 213
4.4 Basic Syntax......Page 215
4.5 Variables and Data Types......Page 217
4.6 Statements......Page 220
4.7 Operators......Page 221
4.7.1 Precedence......Page 222
4.7.2 Type Conversion......Page 223
4.7.3 Bit Operators......Page 224
4.8 Literals......Page 225
4.9 Functions......Page 226
4.10.1 Object Properties......Page 229
4.10.3 Array Notation......Page 231
4.10.4 Object References......Page 232
4.10.5 Methods......Page 234
4.10.6 Constructors......Page 237
4.10.7 Example: Binary Tree......Page 238
4.11 Arrays......Page 241
4.11.1 Creating an Array......Page 242
4.11.3 Array Methods......Page 243
4.12.1 The Global Object (window)......Page 245
4.12.2 String, Number, and Boolean......Page 246
4.12.3 Date......Page 248
4.12.4 Math......Page 249
4.12.5 RegExp......Page 250
4.13 JavaScript Debuggers......Page 254
Exercises......Page 257
5.1 Introduction to the Document Object Model......Page 266
5.2 DOM History and Levels......Page 268
5.3 Intrinsic Event Handling......Page 269
5.4 Modifying Element Style......Page 271
5.5.1 Node Objects......Page 274
5.5.2 Example: List Reordering......Page 278
5.5.3 The document Node......Page 279
5.5.4 Element Nodes......Page 280
5.5.6 Example: Collapsible Elements......Page 281
5.6.1 The Event Object and Event Listeners......Page 285
5.6.2 Mouse Events......Page 286
5.6.4 Event Propagation......Page 290
5.6.5 Example: Dropdown Menus......Page 292
5.6.6 Event Canceling and Form Validation......Page 297
5.6.7 Generating Events......Page 298
5.7 Accommodating Noncompliant Browsers......Page 299
5.7.1 Detecting Host Objects......Page 300
5.7.2 IE6 Details......Page 301
5.8 Additional Properties of window......Page 306
5.9 Case Study......Page 311
Exercises......Page 317
6.1 Servlet Architecture Overview......Page 324
6.2 A βHello World!β Servlet......Page 326
6.3 Servlets Generating Dynamic Content......Page 328
6.4 Servlet Life Cycle......Page 330
6.5.1 Parameter Data and Query Strings......Page 331
6.5.2 Servlets and Parameter Data......Page 333
6.5.3 Forms and Parameter Data......Page 336
6.6.1 Creating a Session......Page 339
6.6.2 Storing and Retrieving Attributes......Page 340
6.6.3 Session Termination......Page 344
6.7 Cookies......Page 346
6.8 URL Rewriting......Page 349
6.9.2 Additional HttpServletResponse Methods......Page 351
6.10 Data Storage......Page 355
6.11.1 Concurrency in Web Servers......Page 356
6.11.2 Threads......Page 357
6.11.4 Thread Synchronization......Page 359
6.11.5 Servlet Synchronization......Page 362
6.12 Case Study......Page 367
6.13 Related Technologies......Page 373
Exercises......Page 375
7.1 XML Documents and Vocabularies......Page 381
7.2 XML Versions and the XML Declaration......Page 386
7.3 XML Namespaces......Page 387
7.4 JavaScript and XML: Ajax......Page 390
7.5 DOM-Based XML Processing......Page 395
7.6 Event-oriented Parsing: SAX......Page 400
7.7.1 Transforming between XML Representations......Page 407
7.7.2 Introduction to XSL......Page 410
7.7.3 XSL Component Overview......Page 411
7.8.1 Location Paths......Page 413
7.8.2 Location Paths with Multiple Steps......Page 416
7.8.3 Absolute and Relative Location Paths......Page 417
7.8.5 Function Calls as XPath Expressions......Page 418
7.9.1 βHello World!β Revisited......Page 419
7.9.2 Recursive Template Processing......Page 422
7.9.3 Generating Result Tree Content......Page 426
7.9.4 XML Result Document Formatting......Page 432
7.10 Displaying XML Documents in Browsers......Page 434
7.11 Case Study......Page 436
7.12 Related Technologies......Page 442
Exercises......Page 443
CHAPTER 8 Separating Programming and Presentation: JSP[sup(TM)] Technology......Page 449
8.1 Introduction to JavaServer Pages......Page 450
8.2 JSP and Servlets......Page 452
8.3.1 Web Applications......Page 455
8.3.2 Installing a Web Application......Page 456
8.3.3 Defining Web Application Parameters......Page 459
8.4 Basic JSP......Page 463
8.4.1 JSP Expression Language (EL)......Page 464
8.4.2 JSP Markup......Page 467
8.4.3 JSTL Core Actions......Page 469
8.5.1 JavaBeans Technology Basics......Page 474
8.5.2 Instantiating Bean Objects......Page 477
8.5.3 Using JavaBeans Objects......Page 479
8.6 Tag Libraries and Files......Page 480
8.7.1 MVC Basics......Page 483
8.7.2 Servlet Request Dispatching......Page 484
8.7.3 JSP Actions Supporting MVC......Page 488
8.8 Case Study......Page 489
8.9.1 JSP Pages with Scriptlets......Page 496
8.9.3 PHP: Hypertext Preprocessor......Page 497
Exercises......Page 498
9.1 Web Service Concepts......Page 503
9.2.2 Writing Server Software......Page 508
9.2.3 Packaging Server Software......Page 509
9.3 Writing a Java Web Service Client......Page 514
9.4 Describing Web Services: WSDL......Page 519
9.5 Representing Data Types: XML Schema......Page 525
9.5.1 Built-In Data Types......Page 526
9.5.2 XML Schemas......Page 528
9.5.3 User-Defined Simple Types......Page 529
9.5.4 User-Defined Complex Types......Page 531
9.5.5 XML Schema within Instance Documents......Page 533
9.6.1 SOAP Elements......Page 534
9.6.2 RPC Representation......Page 535
9.6.3 SOAP Encoding of Struct Data......Page 538
9.6.4 SOAP Encoding of Arrays......Page 539
9.6.5 SOAP and HTTP......Page 540
9.7 Related Technologies......Page 541
9.8 References......Page 542
Exercises......Page 543
A.1.1 Command Prompt......Page 547
A.1.3 File Paths......Page 548
A.3.1 Determining Your Java Version......Page 549
A.3.2 Installing the Java SDK......Page 550
A.4.1 Installing JWSDP 1.3......Page 551
A.4.2 Postinstallation Tasks......Page 552
A.4.3 Running the Tomcat Server......Page 554
B.1 Serializable Objects......Page 556
B.2 Reading and Writing Serializable Objects in Java......Page 557
B.3 Supporting Object Evolution......Page 558
B.4 Case Study......Page 559
C.1 JDBC Drivers......Page 562
C.1.1 Connecting Locally to MS Access......Page 563
C.1.2 Connecting to MySQL......Page 565
C.2 JDBC Database Access......Page 566
Bibliography......Page 568
B......Page 574
C......Page 575
D......Page 576
F......Page 578
G......Page 579
H......Page 580
J......Page 581
M......Page 583
P......Page 584
R......Page 585
S......Page 586
T......Page 587
W......Page 589
X......Page 590
Z......Page 591
π SIMILAR VOLUMES
<i>Web Technologies: A Computer Science Perspective</i>is ideal for courses in Web-based Systems (aka Web/Internet Programming/Systems) in Computer Science, MIS, and IT departments. This text introduces the key technologies that have been developed as part of the birth and maturation of the World Wi
The book <em>Computer Science and Web Technologies</em> gives an in-depth discussion of the key systems in the development of distributed software and service-oriented systems through the Internet, and gives readers some critical thinking and technical skills about development and performance assess
<span>Digital Transformation in Industry 4.0/5.0 requires the effective and efficient application of digitalization technologies in the area of production systems. This book elaborates on concepts, techniques, and technologies from computer science in the context of Industry 4.0/5.0 and demonstrates