ΠΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ . MySQL Community Server — ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ; ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. RequestDispatcher dispatcher= config. getServletContext ().getRequestDispatcher («/music0.jsp»); String sql = «select * from songs where name ='» + request. getParameter («search») + «'»; SQL-ΡΠΊΡΠΈΠΏΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π±ΡΠ΄ΠΆΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ.
" Π‘Π°ΠΌΠ°ΡΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π°ΡΡΠΎΠΊΠΎΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΈ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΊΠ° Π‘. Π. ΠΠΎΡΠΎΠ»Π΅Π²Π°.
(Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ)" .
Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ.
ΠΠ°ΡΠ΅Π΄ΡΠ° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΈΠ±Π΅ΡΠ½Π΅ΡΠΈΠΊΠΈ ΠΡΡΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΡΡΠ΄Π΅Π½ΡΡ:
ΠΠ½ΠΈΠΊΠ΅Π΅Π² Π .Π., ΠΠ΄ΡΡΠΊΠΈΠ½ Π.Π‘.
ΠΡΡΠΏΠΏΠ°: 6407.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΡ:
ΠΠ΅Π»ΠΎΡΡΠΎΠ² Π.Π.
Π‘Π°ΠΌΠ°ΡΠ° 2014.
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
1. Π‘ΡΡΡΠΊΡΡΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
1.1 Π‘Ρ Π΅ΠΌΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
1.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ.
2. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
3. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
3.1 Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ.
3.2 ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°.
3.3 Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠΈΡΠΊΠ°.
3.4 ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° «ΠΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΌΠΈΡΠ΅ ΠΌΡΠ·ΡΠΊΠΈ. ΠΠ±ΡΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ: ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ΅; ΠΏΠΎΠΈΡΠΊ ΠΌΡΠ·ΡΠΊΠΈ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌ ΠΏΠ΅ΡΠ΅Π½; ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π½. ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
1. Π‘ΡΡΡΠΊΡΡΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
1.1 Π‘Ρ Π΅ΠΌΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΠ° ΡΠΈΡ. 1 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΡ Π΅ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π ΠΈΡΡΠ½ΠΎΠΊ 1 -Π‘Ρ Π΅ΠΌΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
SQL-ΡΠΊΡΠΈΠΏΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π.
1.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ.
ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΡ Π΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 1.
Π’Π°Π±Π»ΠΈΡΠ° 1. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π’Π°Π±Π»ΠΈΡΠ°. | ΠΡΡΠΈΠ±ΡΡ. | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅. | |
artists. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΡ Π°Π»ΡΠ±ΠΎΠΌΠΎΠ². | ||
artist_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ. | ||
name. | ΠΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ. | ||
albums. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π»ΡΠ±ΠΎΠΌΠ°Ρ . | ||
album_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π»ΡΠ±ΠΎΠΌΠ°. | ||
name. | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π°Π»ΡΠ±ΠΎΠΌΠ°. | ||
released. | ΠΠΎΠ΄ Π²ΡΠΏΡΡΠΊΠ° Π°Π»ΡΠ±ΠΎΠΌΠ°. | ||
songs. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ½Π΅. | ||
song_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠ΅ΡΠ½ΠΈ. | ||
name. | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ½ΠΈ. | ||
duration. | ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ½ΠΈ. | ||
users. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ . | ||
user_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. | ||
login. | ΠΠΎΠ³ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. | ||
password. | ΠΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π₯ΡΠ°Π½ΠΈΡΡΡ Π² Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. | ||
name. | ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. | ||
album_artists. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ°Ρ Π°Π»ΡΠ±ΠΎΠΌΠΎΠ². ΠΠ°Π»ΠΈΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»ΡΠ±ΠΎΠΌΠ° (ΡΠ²ΡΠ·Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ). | ||
album_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π»ΡΠ±ΠΎΠΌΠ°. | ||
artist_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ. | ||
album_songs. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΠ°Π²Π΅ Π°Π»ΡΠ±ΠΎΠΌΠ°. ΠΠ°Π»ΠΈΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ½Ρ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π°Π»ΡΠ±ΠΎΠΌ (ΡΠ²ΡΠ·Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ). | ||
album_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π»ΡΠ±ΠΎΠΌΠ°. | ||
song_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠ΅ΡΠ½ΠΈ. | ||
ratings. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠ΅Π½ΠΊΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. | ||
user_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. | ||
song_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠ΅ΡΠ½ΠΈ. | ||
rating. | ΠΡΠ΅Π½ΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΎΡ 1 Π΄ΠΎ 5). | ||
genre. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΆΠ°Π½ΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π½. | ||
genre_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΆΠ°Π½ΡΠ°. | ||
name. | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΆΠ°Π½ΡΠ°. | ||
genre_songs. | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΠ°Π²Π΅ ΠΆΠ°Π½ΡΠΎΠ². ΠΠ°Π»ΠΈΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ½Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΆΠ°Π½Ρ (ΡΠ²ΡΠ·Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ). | ||
genre_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΆΠ°Π½ΡΠ°. | ||
song_id. | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠ΅ΡΠ½ΠΈ. | ||
2. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:
Β· MySQL Community Server — ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ;
Β· Servlet — Web-ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅ΡΠ²Π»Π΅ΡΠ°ΠΌΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Java-ΠΌΠ°ΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΡΠ²Π»Π΅Ρ, Π° ΡΠ΅ΡΠ²Π»Π΅Ρ ΠΎΡΠ΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ ΡΡΠΎΡΠΌΠΈΡΡΠ΅Ρ.
Β· Java Server Pages — ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΡΠ°ΠΊ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ JSTL, ΡΠ°ΡΡΠΈΡΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ JSP;
Β· ΠΠ° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: XHTML, CSS, JavaScript.
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 2 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΎΠ±ΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ Servlet-ΠΊΠ»Π°ΡΡΠ° — Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π; JSP-ΡΡΡΠ°Π½ΠΈΡΡ — Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ B.
Π ΠΈΡΡΠ½ΠΎΠΊ 2 — ΠΠ±ΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
3. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
3.1 Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 3 — Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ.
3.2 ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 4 — ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°.
3.3 Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠΈΡΠΊΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 5 — Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠΈΡΠΊΠ°.
Π±Π°Π·Π° Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠΉ.
3.4 ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
Π ΠΈΡΡΠ½ΠΎΠΊ 6 — ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π.
SQL-ΡΠΊΡΠΈΠΏΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ.
CREATE SCHEMA IF NOT EXISTS `music` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; — ————————————————-;
— Table `music`.`artists`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`artists` (.
`id` INT NOT NULL AUTO_INCREMENT ,.
`name` VARCHAR (32) NOT NULL, PRIMARY KEY (`id`));
— ——————————————————————————;
— Table `music`.`albums`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`albums` (.
`id` INT NOT NULL AUTO_INCREMENT ,.
`name` VARCHAR (32) NOT NULL ,.
`released` DATE NOT NULL ,.
PRIMARY KEY (`id`));
— ——————————————————————————;
— Table `music`.`songs`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`songs` (.
`id` INT NOT NULL AUTO_INCREMENT ,.
`name` VARCHAR (64) NOT NULL ,.
`duration` INT NOT NULL ,.
PRIMARY KEY (`id`));
— ——————————————————————————;
— Table `music`.`users`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`users` (.
`id` INT NOT NULL AUTO_INCREMENT ,.
`login` VARCHAR (16) NOT NULL ,.
`password` VARCHAR (32) BINARY NOT NULL ,.
`name` VARCHAR (16) NOT NULL ,.
PRIMARY KEY (`id`) ,.
UNIQUE INDEX `login_UNIQUE` (`login` ASC));
— ——————————————————————————;
— Table `music`.`album_artists`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`album_artists` (.
`album` INT NOT NULL ,.
`artist` INT NOT NULL ,.
PRIMARY KEY (`album`, `artist`) ,.
INDEX `fk_album_artists__albums_idx` (`album` ASC) ,.
INDEX `fk_album_artists__artists_idx` (`artist` ASC) ,.
CONSTRAINT `fk_album_artists__albums`.
FOREIGN KEY (`album`).
REFERENCES `music`.`albums` (`id`).
ON DELETE NO ACTION.
ON UPDATE NO ACTION,.
CONSTRAINT `fk_album_artists__artists`.
FOREIGN KEY (`artist`).
REFERENCES `music`.`artists` (`id`).
ON DELETE NO ACTION.
ON UPDATE NO ACTION);
— ——————————————————————————;
— Table `music`.`album_songs`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`album_songs` (.
`album` INT NOT NULL ,.
`song` INT NOT NULL ,.
PRIMARY KEY (`album`, `song`) ,.
INDEX `fk_album_songs__albums_idx` (`album` ASC) ,.
INDEX `fk_album_songs__songs_idx` (`song` ASC) ,.
CONSTRAINT `fk_album_songs__albums`.
FOREIGN KEY (`album`).
REFERENCES `music`.`albums` (`id`).
ON DELETE NO ACTION.
ON UPDATE NO ACTION,.
CONSTRAINT `fk_album_songs__songs`.
FOREIGN KEY (`song`).
REFERENCES `music`.`songs` (`id`).
ON DELETE NO ACTION.
ON UPDATE NO ACTION);
— ——————————————————————————;
— Table `music`.`ratings`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`ratings` (.
`user` INT NOT NULL ,.
`song` INT NOT NULL ,.
`rating` TINYINT UNSIGNED NOT NULL ,.
PRIMARY KEY (`user`, `song`) ,.
INDEX `fk_ratings__users_idx` (`user` ASC) ,.
INDEX `fk_ratings__songs_idx` (`song` ASC) ,.
CONSTRAINT `fk_ratings__users`.
FOREIGN KEY (`user`).
REFERENCES `music`.`users` (`id`).
ON DELETE NO ACTION.
ON UPDATE NO ACTION,.
CONSTRAINT `fk_ratings__songs`.
FOREIGN KEY (`song`) REFERENCES `music`.`songs` (`id`).
ON DELETE NO ACTION.
ON UPDATE NO ACTION);
— ——————————————————————————;
— Table `music`.`genre`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`genre` (.
`id` INT NOT NULL AUTO_INCREMENT ,.
`name` VARCHAR (64) NOT NULL ,.
PRIMARY KEY (`id`));
— ——————————————————————————;
— Table `music`.`genre_songs`.
— ——————————————————————————;
CREATE TABLE IF NOT EXISTS `music`.`genre_songs` (.
`genre` INT NOT NULL ,.
`song` INT NOT NULL ,.
PRIMARY KEY (`genre`, `song`) ,.
INDEX `fk_genre_songs__genres_idx` (`genre` ASC) ,.
INDEX `fk_genre_songs__songs_idx` (`song` ASC) ,.
CONSTRAINT `fk_genre_songs__genres`.
FOREIGN KEY (`genre`).
REFERENCES `music`.`genre` (`id`).
ON DELETE NO ACTION.
ON UPDATE NO ACTION,.
CONSTRAINT `fk_genre_songs__songs`.
FOREIGN KEY (`song`).
REFERENCES `music`.`songs` (`id`).
ON DELETE NO ACTION.
ON UPDATE NO ACTION);
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π.
ΠΡΠΈΠΌΠ΅Ρ Π‘Π΅ΡΠ²Π»Π΅ΡΠ°.
import java.io.*;.
import java.util.*;.
import java.sql.*;.
import javax.servlet.*;.
import javax.servlet.http.*;.
public class Authentication extends HttpServlet {.
private ServletConfig config;
public void init (ServletConfig config).
throws ServletException {.
this.config = config;
}.
public void doPost (HttpServletRequest request, HttpServletResponse response).
throws ServletException, IOException {.
Connection connection = null;
PrintWriter out = response. getWriter ();
ResultSet rs;
String userName = new String (««);
String passwrd = new String (««);
String name = new String (««);
response.setContentType («text/html»);
try {.
Class.forName («com.mysql.jdbc.Driver»);
Properties properties = new Properties ();
properties.setProperty («user», «root»);
properties.setProperty («password», «123»);
properties.setProperty («useUnicode», «true»);
properties.setProperty («characterEncoding», «utf8»);
connection = DriverManager. getConnection («jdbc:mysql://localhost:3306/music», properties);
//ΠΠ°Π½ΠΎΡΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ Π² Π±Π°Π·Ρ.
String sql = «select login, password, name from users» ;
Statement s = connection. createStatement ();
s.executeQuery (sql);
rs = s. getResultSet ();
while (rs.next ()) {.
userName = rs. getString («login»);
passwrd = rs. getString («password»);
name = rs. getString («name»);
}.
rs.close ();
s.close ();
} catch (Exception e) {.
System.out.println («Exception is ;» + e);
}.
if (userName.equals (request.getParameter («login»)).
&& passwrd. equals (request.getParameter («pass»))) {.
HttpSession session = request. getSession (true);
session.setAttribute («name», name);
RequestDispatcher dispatcher= config. getServletContext ().getRequestDispatcher («/music0.jsp»);
dispatcher.forward (request, response);
} else {.
out.println («You are not an authentic person»);
}.
}}.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π.
ΠΡΠΈΠΌΠ΅Ρ JSP-ΡΡΡΠ°Π½ΠΈΡΡ.
<%@page import="java.sql.Date" %>.
<%@page import="java.sql.Statement" %>.
<%@page import="java.sql.DriverManager" %>.
<%@page import="java.util.Properties" %>.
<%@page import="java.sql.ResultSet" %>.
<%@page import="java.sql.Connection" %>.
<%HttpSession s = request. getSession (true);
Connection connection = null;
ResultSet rs;
String song = new String (««);
String artist = new String (««);
String album = new String (««);
String genre = new String (««);
Date released = null;
int duration = 0;
int ids = 0;
int ida = 0;
int idg = 0;
int idu = 0;
int idar = 0;
int rating = 0;
response.setContentType («text/html»);
try {.
Class.forName («com.mysql.jdbc.Driver»);
Properties properties = new Properties ();
properties.setProperty («user», «root»);
properties.setProperty («password», «123»);
properties.setProperty («useUnicode», «true»);
properties.setProperty («characterEncoding», «utf8»);
connection = DriverManager. getConnection («jdbc:mysql://localhost:3306/music», properties);
String sql = «select * from songs where name ='» + request. getParameter («search») + «'» ;
Statement st = connection. createStatement ();
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
duration = rs. getInt («duration»);
ids = rs. getInt («id»);
}.
sql = «select * from album_songs where song ='» + ids + «'» ;
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
ida = rs. getInt («album»);
}.
sql = «select genre from genre_songs where song ='» + ids + «'» ;
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
idg = rs. getInt («genre»);
}.
sql = «select * from albums where id ='» + ida + «'» ;
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
released = rs. getDate («released»);
album = rs. getString («name»);
}.
sql = «select * from genre where id ='» + idg + «'» ;
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
genre = rs. getString («name»);
}.
sql = «select artist from album_artists where album ='» + ida + «'» ;
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
idar = rs. getInt («artist»);
}.
sql = «select * from artists where id ='» + idar + «'» ;
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
artist = rs. getString («name»);
}.
sql = «select * from users where name ='» + s. getAttribute («name») + «'» ;
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
idu = rs. getInt («id»);
}.
sql = «select * from ratings where user ='» + idu + «' and song='» + ids + «'» ;
st.executeQuery (sql);
rs = st. getResultSet ();
while (rs.next ()) {.
rating = rs. getInt («rating»);
}.
s.setAttribute («idu», idu);
s.setAttribute («ids», ids);
rs.close ();
st.close ();
} catch (Exception e) {.
System.out.println («Exception is ;» + e);
}.
%>.
Music catalog
Hello, <%=s.getAttribute(" name" )%>.
.- Song: <%=request.getParameter(" search" )%>
- Artist:<%=artist%>
- Album:<%=album%>
- Released:<%=released%>
- Duration:<%=duration%>
- Genre:<%=genre%>
<%if (ids != 0) {%>.
<%if (rating == 0) { %>.
.
<%} else {%>.
<%}%>.
<%} else {%>.
<%}%>.
.- Π‘Π΅ΡΡΠΈΡ? Π‘ΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ!
- Π¦Π΅Π½Ρ
- ΠΡΡΠ°Π²ΠΈΡΡ Π·Π°ΡΠ²ΠΊΡ
- ΠΡ
- ΠΠΎΠ½ΡΠ°ΠΊΡΡ