¿No se puede realizar la solicitud CORS POST en javascript para el servicio web java (jersey)?

Estoy implementando Cross Resource Origin Sharing en los servicios web de Java usando Jersey. Creé el siguiente recurso:

@POST
    @Path("/getSubjects")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Response getSubjects(TokenCheck tc) throws IOException, ServletException{ 
        String token = tc.getToken();
        String result = "";
        if(!token.equals("") && !token.equals(null)){
            context.getRequestDispatcher("/GetSubjectsWs?token="+token).include(request, response);
            String subs = request.getAttribute("subjects").toString();
            result = "{\"subjects\":\""+subs+"\"}";
        }else {
            result = "{\"subjects\":\"['Invalid Token login again']\"}";
        }
        JSONObject j = null;
        try {
            j = new JSONObject(result);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return Response.status(200).entity(j).header("Access-Control-Allow-Origin", "*").header("Access-Control-Allow-Methods", "POST, GET, OPTIONS").header("Access-Control-Allow-Headers", "Content-Type:application/json").build(); 
    }

y haciendo solicitud de publicación usando javascript como:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Client</title>
<script type="text/javascript">
function restReq() {
    var url = "http://localhost:8888/WebservicesServer/restful/getserver/getSubjects";
    var json = {
            "token":"8495C211F11C9B18E6651E03EB2995BC"
    };
    var client = new XMLHttpRequest();
    client.open("POST", url, true);
    client.setRequestHeader("Access-Control-Request-Methods", "POST");
    client.setRequestHeader("Content-Type", "application/json");
    client.send(json);
    client.onreadystatechange = function() {
        if (client.readyState == 4) {
           if ( client.status == 200) 
               console.log("success: " + client.responseText);
          else
              console.log("error: " +client.status+" "+ client.responseText);
       }
 };
}
</script>
</head>
<body>
<input type="button" value="getSubjects" onclick="restReq();">
</body>
</html>

Cuando hice clic en el botón getSubjects en Chrome, obtengoerror como: XMLHttpRequest no puede cargar ..localhost: 8888 / WebservicesServer / restful / getserver / getSubjects. El nulo de origen no está permitido por Access-Control-Allow-Origin. Pero soy capaz de obtener respuesta con la solicitud GET, el problema es que POST solicita el archivo url de mi navegador: /// E: /Documents%20and%20Settings/Srinivas/Desktop/wars/JSClient2.html (Sistema de archivos) Lo intenté de muchas maneras, como la configuración de origen, etc., aún no puedo Obtenga la respuesta de json (el servidor es Tomcat 7) por favor ayude a superar este problema.

Respuestas a la pregunta(1)

Su respuesta a la pregunta