Создание веб-сайта при помощи IIS
Добавление веб-сайтов в IIS
Создадим на рассматриваемом сервере тестовый сайт. Необходимо иметь место для тестирования кода перед его окончательной реализацией. Тестовый сайт будет располагаться на том же сервере в только что созданном каталоге.
- В консоли IIS MMC выделите Web Sites (Веб-узлы).
- Выберите команду Action\New\Web Site (Действие\Создать\Веб-сайт).
- Откроется мастер веб-сайта (Web Site Creation Wizard). Нажмите на кнопку Next (Далее).
- Введите описание (beer-brewers.com test site).
- Нажмите на кнопку Next (Далее).
- В окне IP addresses and Port Settings (IP-адреса и параметры порта) в ниспадающем списке выберите IP-адрес.
- Нажмите на кнопку Next (Далее).
- В окне Web Site Home Directory (Домашний каталог веб-сайта) перейдите к папке тестового сайта и выделите ее.
- Дважды нажмите на кнопку Next (Далее), после чего нажмите на кнопку Finish (Готово).
Повторите эти шаги для создания функционирующего веб-сайта.
Включение ASP
При первой установке веб-сервера страницы ASP отключены согласно политике Microsoft "отключения по умолчанию". Из этого следует, что их нужно включить для рассматриваемого веб-сервера.
- В консоли IIS MMC щелкните на пункте Service Extensions (Расширения служб), чтобы развернуть папку.
- Выделите пункт Active Server Pages (ASP), после чего нажмите на Allow (Разрешить).
Все довольно просто. Теперь технология ASP включена для всех сайтов на данном сервере.
Настройка пула приложения
После создания сайтов настало время заняться настройкой пула приложения. С тестовым сайтом связано небольшое количество трафика, поэтому он может оставаться в своем собственном пуле. Для функционирующего сайта мы создадим пул приложения. На данный момент он не особо нужен, так как наш сайт представляет собой лишь форму ASP, однако по мере его роста и применения более сложных компонентов (например, библиотек DLL ActiveX) потребность в рециркуляции рабочих процессов возрастет. Это также отделит процесс нашего функционирующего сайта от всех других сайтов.
Для создания пула приложения для рассматриваемого сайта выполните следующие шаги.
- В консоли IIS MMC выделите Application Pools (Пулы приложения).
- Выберите команду Action\New\Application Pool (Действие\Создать\Пул приложения).
- В окне Add New Application Pool (Добавление нового пула приложения) введите имя пула приложения (beer-brewers app pool).
- Нажмите на кнопку OK.
На данный момент настройки по умолчанию данного пула приложения нас устраивают.
Теперь присвоим данный пул приложения сайту:
- В консоли IIS MMC выделите конечный сайт.
- Выберите команду Action\Properties (Действие\Свойства).
- В окне cвойств веб-сайта откройте вкладку Home Directory (Домашний каталог).
- В ниспадающем списке Application Pool (Пул приложения) выберите новый пул приложения.
- Нажмите на кнопку OK.
Написание кода
Данный код реализует простой веб-сайт со страницей по умолчанию и меню, расположенным вверху страницы и содержащим три ссылки: Home, About Us и ссылку на страницу регистрации. Страница регистрации содержит форму, предназначенную для заполнения, которая передает информацию в базу данных для обеспечения ежемесячной отправки новостей. Данный сайт состоит из шести файлов (см. рис. 7.5).
Ниже приведен демонстрационный код каждого файла.
<HTML> <HEAD> <TITLE> Beer Brewers Home Page </TITLE> </HEAD> <frameset rows="60,*"> <frame name="banner" scrolling="no" noresize target="main" src="top.htm"> <frame name="main" src="about:blank"> </frameset> <noframes> <BODY> <p>This page uses frames, but your browser doesn't support them.</p> </BODY> </noframes> </HTML>Листинг 7.1. Default.htm
<HTML> <HEAD> <TITLE> Beer Brewer's Home Page </TITLE> </HEAD> <BODY> Welcome to the Beer Brewer's site. Please sign up for the newsletter. </BODY> </HTML>Листинг 7.2. HomePage.htm
<HTML> <HEAD> <TITLE> Sign up for the newsletter! </TITLE> </HEAD> <BODY> This form will sign you up to receive the Beer-Brewers.com newsletter. You can get the newsletter by email and postal mail.<br> <form METHOD="POST" target="main" ACTION="https://www.beer-brewers.com/SignUpPost.asp"> <table BORDER="0"> <tr> <td><b>First Name</b></td> <td><input TYPE="TEXT" NAME="FirstName" SIZE="50"> </tr> <tr> <td><b>Last Name</b></td> <td><input TYPE="TEXT" NAME="LastName" SIZE="50"> </tr> <tr> <td><b>Street Address</b></td> <td><input TYPE="TEXT" NAME="Address" SIZE="50"> </tr> <tr> <td><b>City</b></td> <td><input TYPE="TEXT" NAME="City" SIZE="50"> </tr> <tr> <td><b>State</b></td> <td><input TYPE="TEXT" NAME="State" SIZE="50"> </tr> <tr> <td><b>Zip Code</b></td> <td><input TYPE="TEXT" NAME="Zip" SIZE="50"> </tr> <tr> <td><b>Country</b></td> <td><input TYPE="TEXT" NAME="Country" SIZE="50"> </tr> <tr> <td><b>Email Address</b></td> <td><input TYPE="TEXT" NAME="Email" SIZE="50"> </tr> </table> <br> <input TYPE="Submit" value="Submit"> </form> </BODY> </HTML>Листинг 7.3. SignUp.htm
<HTML> <HEAD> <TITLE> Server </TITLE> </HEAD> <BODY> <% ' Set up and open the database using the DSN Set conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") conn.open "DSN=BeerBrewersDSN;" rs.open "BeerBrewersTable", conn, 2, 3 ' Add a new record using all the fields in the form rs.addnew rs("FirstName") = request("FirstName") rs("LastName") = request("LastName") rs("Address") = request("Address") rs("City") = request("City") rs("State") = request("State") rs("Zip") = request("Zip") rs("Country") = request("Country") rs("Email") = request("Email") ' Update the records and close the connection rs.update rs.close conn.close ' Always close out the objects to eliminate memory leaks SET conn = Nothing SET rs = Nothing %> Your information has been updated. You will receive the newsletter in 4-6 weeks Thanks! </BODY> </HTML>Листинг 7.4. SignUpPost.asp
<html> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table width="100%" height=60 border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="middle" align="center"> </td> <td valign="middle" align="center"> <p align="center"><a target="main" href="homepage.htm">Home</a></p> </td> <td valign="middle" align="center"> <p align="center"><a target="main" href="https://www.beer-brewers.com/signup.htm">Sign up for the newsletter</a></p> </td> <td valign="middle" align="center"> <p align="center"><a target="main" href="https://www.beer-brewers.com/NewsLetter.htm">Current Newsletter</a></p> </td> <td valign="middle" align="center"> <p align="center"><a target="main" href="UnderConstruction.htm">About Us</a></p> </td> </tr> </table> </body> </html>Листинг 7.5. Top.htm
<HTML> <HEAD> <TITLE> Under Construction </TITLE> </HEAD> <BODY> This page is under construction. Please come back later. </BODY> </HTML>Листинг 7.6. UnderConstruction.htm
Данный код применяется к функционирующему сайту. Данные для функционирующего и тестового сайтов одинаковы, за исключением имени таблиц базы данных и URL тестового сайта. Один набор этих файлов располагается в каталоге функционирующего сайта, а другой – в каталоге тестирования. Страница newsletter.htm представляет собой лишь новостное письмо, и с ней не связан какой-либо код, поэтому здесь она не приводится.