you are not flipping your float buffers so it is using zeros for the material stuff and the light position. Try using the following code instead:
private FloatBuffer matSpecular = floatBuffer(1, 1, 1, 1);
private FloatBuffer matShininess = floatBuffer(50, 0, 0, 0);
private FloatBuffer lightPosition = floatBuffer(1, 1, 1, 0);
private FloatBuffer floatBuffer(float... values) {
FloatBuffer buffer = BufferUtils.createFloatBuffer(values.length);
buffer.put(values);
return (FloatBuffer)buffer.flip();
}