Особый случай доступа к параметрам из сервлета, где они зашифрованы и содержат &,= значение

Мне нужно реализовать URL, который выглядит примерно так, как показано ниже. Примечательно, что это единственный параметр, к которому мне нужно получить доступ, а значение, которое должно храниться в параметре, зашифровано и может содержать такие символы, как & и =.

Пример 1

www.abc.com/disp?v=qww78agd=

Параметр v в приведенном выше URL содержит значение qww78agd=.

Предположим, шифрование получается следующим образом.

Пример 2

www.abc.com/disp?v=qww7&f=iuy68=

www.abc.com/disp?v=qww7&f==iuy68=

Тогда сервлет примет v и f как два отдельных параметра, тогда как я хочу получить qww7 & f == iuy68 = из параметра.

Я думал о том, чтобы взять все пары ключ-значение из запроса HashMap и объединить соединения через & и =. Но проблема в том, что два последовательных знака =, как во втором случае примера 2, обрабатываются как только один, равный значению в ключе запроса, карте значений. Следовательно, мои другие знаки = потеряны.

Есть ли способ, чтобы я мог получить часть строки запроса, как она есть на моем сервлете, и проанализировать ее с помощью обработки строки самостоятельно? или любой другой подход?

1 ответ

Решение

Это было легко.

Используя метод request.getQueryString(), часть строки запроса извлекается как строка в сервлете, которую я обработал, используя мою собственную логику обработки строки.

Другие вопросы по тегам