В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
HttpContext.Current.Request.RawUrl
HttpContext.Current.Request.QueryString
До Вашего второго вопроса. Вместо того, чтобы отследить URL, информация о строке запроса, и т.д., в который перешел Ваш пользователь. Отследите контроллеры и названные действия. Это устранило бы необходимость объекта Запроса полностью.
Можно достигнуть текущий объект Запроса при помощи:
HttpContext.Current.Request
Однако я имею, должен спросить - почему Вы хотите URL запроса? Путем выполнения этого Вы сделали свой контроллер зависящим от объекта Запроса, который сделает Ваши модульные тесты намного тяжелее для записи.
В контроллере можно получить доступ Request.RawUrl
.