0% found this document useful (0 votes)
42 views

Server-Side Web Programming

This document discusses server-side databases and database drivers. Databases are used to store long term information like product catalogs and customer orders. Queries are used to retrieve data from databases to display on websites, while updates are used to modify data, like completing an order. Database servers control access to databases and execute SQL queries. JDBC provides a Java interface for connecting to databases and executing SQL. Database drivers translate JDBC commands to protocols understood by specific database servers like MySQL.

Uploaded by

Hop Huynh
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Server-Side Web Programming

This document discusses server-side databases and database drivers. Databases are used to store long term information like product catalogs and customer orders. Queries are used to retrieve data from databases to display on websites, while updates are used to modify data, like completing an order. Database servers control access to databases and execute SQL queries. JDBC provides a Java interface for connecting to databases and executing SQL. Database drivers translate JDBC commands to protocols understood by specific database servers like MySQL.

Uploaded by

Hop Huynh
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 17

Server-side

Web Programming
Lecture 12:
Server-side Databases
and Drivers
Databases and E-Commerce
• Long term information stored in databases
– Queries used to produce lists of products
• Never hardwired in!

Generated by
querying for all items
in Books table

– Updates used to store orders


• New record created for order in Order table
• Customer information added to other tables
• Quantities updated in inventory tables
Databases and Web Programming
Updates to databases when orders placed
Queries to database to validate order
-- Does item exist?
-- Is it still in stock?

web container
control
servlet database

JSP
Queries to database to display
information to user
-- Query for all items in stock
-- Query to get order status, etc.
Database Servers
• Access to database controlled by database server
– Constantly running (like web container)
– Programs communicate with it
– Server runs database queries and updates for databases it controls
– Server handles security of database
• Most are password-controlled
– Examples: Database server
• MySQL (free)
• Oracle control
• MS Server servlet database
• Not Access!

JSP
Database Servers
• Programs create statement objects inside server
• Server executes them on the database

• Server stores results if query performed


• Program may then access those results

Database server

JSP Statement object


select * from books database

ResultSet object
productCode title price
productCode title price
productCode title price
MySQL
• Free database server
• See page 715 for instructions
– Go to www.mysql.com
– Follow downloads tab
– Go to MySQL Community
Server
– Get Windows version
– Pick a mirror
• You can skip registration
– Download and run
Installing MySQL
• Run the Service Instance Configuration when prompted to do so
• Should accept default settings
– Check “Include Bin Directory”
– Choose “sesame” for the root password
SQL and Databases
Commands to database server use SQL (structured query language)

Common examples:
• Query for all records matching some condition:
select field from table where condition

Example:
select * from books where price < 10

• Delete all records matching some condition:


delete from table where condition

Example:
delete from books where productCode = ‘0004’
SQL and Databases
• Set new field value for all records matching some condition:
update table set field = value WHERE condition

Example:
update books set price = 9.95 where productCode = ‘0004’

• Insert new record with given field values:


insert into table (field, field, field…)
values (value, value, value…)
Example:
insert into books (productCode, title, price) values
(‘0004’, ‘Green Eggs and Ham’, 9.95)
JDBC
• Java Database
Connectivity:
Java classes for
database manipulation
– Create connections to
database via server
– Create SQL statement
objects
– Execute statements to
manipulate databases
– Get results of queries

– In javax.sql.*
package
Database Drivers
• Database server does not understand JDBC commands
• Only understands its own DBMS protocols
– Each server has its own DBMS
• Need a database driver to perform translation
– Obtain from database server provider
– Install in Java libraries

web container
database server
control database
servlet driver
DBMS database
JSP JDBC
MySQL Database Driver
• From downloads page at mysql.com
• Go to MySQL Connector/J
• Download and save
MySQL Database Driver
• Extract the mysql-connector-java-5.1.6-bin.jar file
• Copy to jre\lib\ext directory of your Java
– Same as you did with JSP/servlet libraries
The MySQL Interface
• Command line interface to manipulate databases MySQL controls
– Available from PROGRAMS menu
– Will need to give password

– Can create new databases


create database databasename;
Creating Database Tables
• Must define field names and field types
• Some types:
– varChar(n) : String of up to n characters
– int(n) : integer up to n digits
– double(n, d) : decimal number up to n digits and d after the decimal
• By default, first field is key field
– Must declare it as not null so all records will have a key field
• SQL command:
create table tablename (
keyfieldname type not null,
fieldname type,
fieldname type,

);
Databases and the MVC Paradigm
• Usually do not directly access database from JSPs/servlets
– Requires both web programming and SQL knowledge
• Usually done in model classes
– Cart object stores its content to database when commanded to
– Cart object created from database query when need to retrieve the cart

web container
database server
control
servlet Model database
classes driver database
JDBC DBMS
JSP
Disaster Recovery
• Database server should be behind firewall to protect crucial data
– May be on separate machine from web server!
• Database access may fail
– Connection lost to database server, database server shuts down, etc.
• Need plan to back up any crucial data entered by user
– Store to file if server not available
– Read file contents into database later
web container
database server
control
servlet Model database
classes driver database
JDBC DBMS
JSP

Backup file

You might also like