Обрабатывать параметры uri в сервлете Jetty

Я создал этот сервер с помощью Jetty, как показано ниже. Я также создал сервлет, который слушает некоторый uri (/ "clientId")

теперь это работает правильно: http: // локальный: 8080 / clientId

но я хочу, чтобы это работало: http: // локальный: 8080 /? clientId = 3

как я могу заставить мой код обрабатывать часть /? clientId = 3

Мне нужно обрабатывать uri с аргументами ..

Что мне нужно добавить / изменить?

Спасибо!!

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandler;

public class ProtectingServer
{
    public static void main(String[] args) throws Exception
    {
        org.eclipse.jetty.server.Server server = new org.eclipse.jetty.server.Server(8080);

        ContextHandler context = new ContextHandler();
        context.setContextPath("/clientId");
        context.setResourceBase(".");
        context.setClassLoader(Thread.currentThread().getContextClassLoader());
        server.setHandler(context);

        context.setHandler(new ClientHandler());

        server.start();
        server.join();

        System.out.println();
    }


}

ClientHandler

import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class ClientHandler extends AbstractHandler {

    @Override
    public void handle(String target,
                       Request baseRequest,
                       HttpServletRequest request,
                       HttpServletResponse response) throws IOException

    {
        response.setContentType("text/html; charset=utf-8");
        response.setStatus(HttpServletResponse.SC_OK);

        PrintWriter out = response.getWriter();
        String url = request.getParameter("url");
        out.println("<h1>" + "HELLO" + "</h1>");


        baseRequest.setHandled(true);
    }


}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
344
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть установка / конфигурация с context.setContextPath("/clientId")

Действительный URL-адрес для этой настройки (с учетом вашего кода ClientHandler) будет ...

http://localhost:8080/clientId/?url=myurlvalue

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