servlet pattern para name jax especificado context configurar clase appservlet java web-applications servlets

pattern - ¿Cómo agregar un parámetro al HttpServletRequest existente de mi Servlet de Java?



url pattern java servlet (2)

Los parámetros de una solicitud son los valores enviados como parámetros por el navegador. No hay razón para cambiarlos. Si desea asociar algún valor a la solicitud, use un atributo en lugar de un parámetro. Esto tiene la ventaja adicional de que un atributo puede ser cualquier objeto y no solo una cadena:

request.setAttribute("user", new User(userName, password));

Puede agregar parámetros si reenvía la solicitud a otro recurso (aunque no diría que es una buena práctica):

request.getRequestDispatcher("/some/path?j_username=" + user + "&j_password=" + pwd).forward(request, response);

Sin embargo, los parámetros deben estar codificados correctamente.

Quiero agregar un nuevo parámetro al mapa de parámetros de mi HttpServletRequest .

El siguiente codigo

request().getParameterMap().put("j_username", user); request().getParameterMap().put("j_password", pwd);

crea este error

no modifications are allowed to a locked parameter map

¿Cuál es la forma correcta de hacer esto?


Me encontré con un problema similar y lo resolví haciendo una copia del mapa de parámetros.

Map<String, String[]> params = new HashMap<String, String[]>(req.getParameterMap());