Забудьте о пользователях, просто подумайте о получении любого динамического контента. У вас есть произвольный URL
http://mysite.com/some/path/or/other
или, возможно, с некоторыми параметрами
http://mysite.com/some/path/or/other?thing=somevalue
Когда браузер нажимает на этот URL, запускается какой-то код, и у вас есть доступ к URL. В зависимости от инструментов, которые вы используете, вы можете даже разделить части URL-адреса на несколько полезных переменных, если нет, то вы можете извлечь биты, которые вас интересуют.
String interestingBit; // somehow gets set to "other"
String thing; // somehow gets set "somevalue"
Теперь вы можете написать код для извлечения данных из файла или базы данных,
databaseRetrieve( interstingBit, thing);
еще раз хорошие рамки могут сделать все это действительно легким. Тогда это просто вопрос представления данных. Таким образом, работа с пользовательским контентом может следовать этому подходу. Вам приходится иметь дело с другими вопросами, такими как решение о том, как структурировать хранилище контента и управление безопасностью, но, насколько я понимаю, вы задавали вопрос о толковании URL-адреса.
Отредактировано в ответе на уточненный вопрос:
Похоже, вы разрабатываете функцию "персонализации", которая часто предоставляется продуктами и инфраструктурами "Portal". Ключевым моментом является то, что у вас есть индивидуальный набор предпочтений, которые определяют, какой контент отображается и где он отображается. Таких продуктов много, я работаю на IBM, поэтому знаю о WebSphere Portal и Lotus Mashups, если не считать двух.
Итак, для реализации этого вам нужно:
- Чтобы создать компоновку и макет страницы на основе данных, извлекаемых динамически, например, из базы данных. Для этого вам необходимо выяснить, что следует хранить в базе данных (например, список имен виджетов, их размеры и положение, а также, возможно, их стили и конфигурация.) И способ отображения страницы из этой информации. Я не знаю JQuery, но вам, возможно, придется создать немного кода, чтобы сделать это, не очень сложно, но немного поработать.
- Как выбрать конкретный экземпляр из базы данных на основе идентификатора пользователя и выбранной страницы. Обычно пользователь просит
http://mysite.com/sport
и ваше приложение знает идентификатор пользователя из информации аутентификации, установленной ранее в сеансе и передаваемой через куки. В случае Java EE это просто доступно в API сервлета.
- Как записать изменения пользователя во что-то, что вы можете сохранить в своем хранилище.