Я понимаю, что под веб-сайтом подразумевается какое-то веб-приложение. Под дизайном подразумевается не только дизайн страницы, но и дизайн веб-приложения. Во-первых, вы должны понять анатомию веб-приложения. Основные компоненты:
- База данных используется для хранения данных пользователей и приложений в течение длительного времени. База данных обеспечивает функциональность запросов (SQL), резервное копирование в одной установке и восстановление в другой, срабатывает при изменении ввода данных и ограничений, которые должны выполняться таблицами данных.
- Веб-сервер , также называемый Http-сервером, размещает веб-приложение.
- Веб-браузер , например, Internet Explorer или Firefox.
Когда пользователь вводит URL-адрес в веб-браузер, веб-сервер пересылает URL-адрес соответствующему веб-приложению. Веб-приложение выполняет необходимые задачи (которые могут включать чтение или запись в базу данных) и возвращает пользователю новую html-страницу через www.
Некоторые компоненты веб-приложения:
- Объекты доступа к базе данных являются представлениями объектов, которые инкапсулируют взаимодействие с таблицами базы данных.
- Business Logic является основной логикой приложения. Здесь мы реализуем функциональность поиска, используя библиотеку Lucene, например.
- Action Handler обрабатывает http-запрос, полученный от пользователя, например, когда он вводит URL-адрес или нажимает кнопку «отправить». Это HETP GET и POST запросы. Обработчик действий использует бизнес-логику для управления действиями.
- Просмотр данных в веб-браузере построен с использованием некоторой библиотеки шаблонов (которая обычно создает код пользовательского интерфейса javascript для веб-браузера). Для интерактивности можно использовать техники Ajax.
Почти все веб-приложения разделяют модель, представление и контроллер веб-приложения. Представление имеет дело с дисплеем, модель - с данными, а контроллер - с управлением / функционированием. См http://www.uidesign.net/Articles/Papers/UsingMVCPatterninWebInter.html.
Несколько фреймворков реализуют MVC. Наиболее легкими для начала являются Ruby on Rails и Django (над которыми также написана социальная сеть с открытым исходным кодом под названием Pinax ). В java также есть гораздо более комплексные фреймворки и библиотеки (для одного веб-приложения вам может понадобиться присоединиться к нескольким из этих библиотек), например, весна, веб-работа, гобелен, lucene (для поиска), sitemesh (для оформления страницы). Многие Java-приложения работают на веб-сервере Tomcat и с базой данных MySQL.