Особый случай доступа к параметрам из сервлета, где они зашифрованы и содержат &,= значение
Мне нужно реализовать 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(), часть строки запроса извлекается как строка в сервлете, которую я обработал, используя мою собственную логику обработки строки.