ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ…. 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);

}.

%>.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ