Elementos faltantes en la solicitud HTTP: ¿nulo o vacío?

Tengo una solicitud HTTP javax.servlet.http.HttpServletRequestque está pasando un valor para ser utilizado en algún código que se maneja en un servicio web Java usando JAX-RS. La función POST en Java está consumiendo application/json. Hay dos valores posibles para pasar a la solicitud, llame a uno Xy al otro Y, suponga que ambos son cadenas. La solicitud requiere que al menos uno de los dos valores posibles se considere "válido".

Cuando llega la solicitud, si Xse proporciona y Yse deja fuera de la solicitud por completo, ¿cuál es la forma correcta de verificar si Yexiste? ¿Verificaría si Y.isEmpty()o Y == null? Proporcionar Xno garantiza que Yesté presente, y viceversa.

Respuesta 1

Si no se especifica un parámetro de esta manera,

http://example.com/context/servlet?x=foo

entonces volverá null:

String x = request.getParameter("x"); // "foo"
String y = request.getParameter("y"); // null

Si se especifica un parámetro, pero no tiene un valor como este,

http://example.com/context/servlet?x=foo&y

entonces devolverá una cadena vacía:

String x = request.getParameter("x"); // "foo"
String y = request.getParameter("y"); // ""

Tiene sentido, ¿verdad?

Respuesta: 2

Estoy escribiendo una biblioteca nativa de Java en C ++, y uso el manejo de excepciones dentro de la propia biblioteca nativa, pero la biblioteca se bloquea tan pronto como lanzo una excepción. Aquí está mi programa de prueba simple, cuando lo llamo ...

Quiero completar valores en mi lista de matrices de tipo de clase abstracta. A continuación se muestra mi código public abstract class Account {private int accountId; ID de cliente privado int; doble saldo privado; ...

¿No se supone que pueda hacer esto? El plegado está habilitado en las preferencias de Java, pero no aparece el botón +/- junto a los comentarios. Puedo doblar importaciones y clases y métodos, pero no comentarios. También, ...

La primera dificultad para usar JNA con J9 es que J9 JVM no incluye el paquete java.awt y la clase Native importa algunas clases de este paquete. Esto se supera fácilmente descargando ...