- •Затверджений
- •02070743.00569-01 81 01
- •2.1. Вступ
- •02070743.00569-01 81 01
- •2.2.1.1. Статичний html
- •5 02070743.00569-01 81 012.2.1.2 Cgi
- •2.2.1.3. Active Server Pages і asp.Net
- •02070743.00569-01 81 01
- •702070743.00569-01 81 012.2.1.4. Asynchronous Javascript and xml
- •2.3. Мови реалізації мережевих технології
- •9 02070743.00569-01 81 012.3.3. C# і vb.Net
- •02070743.00569-01 81 01
- •2.4. Безкоштовні технології
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
- •2.5. Мова програмування Ruby
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
- •2.6. Конкретизація задачі
- •2.6.1. Ruby для Web-застосувань
- •02070743.00569-01 81 01
- •2.6.1.2. Ruby on Rails
- •2.6.1.3. Принципи і техніка
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
- •2.6.1.5. Додаткові інструменти і бібліотеки
- •02070743.00569-01 81 01
- •2.7. Ruby і Web-сервер
- •02070743.00569-01 81 01
- •2.7.1. Модуль mod_ruby
- •02070743.00569-01 81 01
- •2.2.2. Сервер weBrick
- •02070743.00569-01 81 01
- •2.7.3. Сервер Mongrel
- •02070743.00569-01 81 01
- •26 02070743.00569-01 81 012.8. Особливості розробки алгоритмів для Ruby
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
- •02070743.00569-01 81 01
3002070743.00569-01 81 01
<textarea
name="text" rows="4"
cols="40"><%=IO.read('notepad.txt')%></textarea><br/>
<input type="submit" name="update" value="Сохранить" />
</form>
</center>
</body>
</html>
Змінну шаблон ми прибираємо, а замість неї вставимо зчитування файлу з ERB-шаблоном(index.html).
require 'webrick'
require 'erb'
server = WEBrick::HTTPServer.new(:Port=>8080)
server.mount_proc('/'){ |req, resp|
File.open('notepad.txt', 'w'){ |f| f.write req.query["text"] } if req.query["text"]
resp['Content-Type']= 'text/html'
resp.body = ERB.new(IO.read('index.html')).result
}
server.start
З чого складається наша програма тепер?
notepad.rb. Програма-сервер. Назвати файл можна на власний розсуд. Головне, аби працював. Містить логіку, яка здійснює конфігурацію і запуск сервера.
3102070743.00569-01 81 01
Рис. 2.6. Працюючий сервер WEBrick
index.html. ERB-шаблон. У нім міститься вся логіка програми, окрім реалізованої в програмі-сервері.
Рис. 2.7. Приклад Erb-шаблона
notepad.txt. Файл даних. У нім містяться записи, які ми вводимо і відображуємо за допомогою нашої програми.
3202070743.00569-01 81 01
Рис. 2.8. Результат виконання запиту