HttpServletRequest#getHeader(“User-Agent”) renvoie la valeur null nom du navigateur

Je suis à l'aide de Java 6. J'ai très peu de connaissances de JSP et de Servlets.

J'utilise le code suivant pour obtenir nom du navigateur dans laquelle ma demande est en cours d'exécution:

String browserName = requestProvider.get().getHeader("User-Agent");

Aussi je suis en utilisant le code suivant pour obtenir l'adresse IP de la machine sur laquelle ma demande est en cours d'exécution:

String ipAdd = requestProvider.get().getRemoteAddr();

Dans les deux cas, requestProvider est une variable de référence de type Provider<HttpServletRequest>. Et je suis assuré qu'il n'est jamais NULL.

Maintenant, le problème est quelques fois que je reçois des deux valeurs (browserName and ipAdd) NULLE.
J'ai écrit parfois parce que je n'ai pas de cas de test.

Donc ma question est, quels sont les cas en Java, lorsque ces valeurs peuvent être NULL?

Quels soins dois-je prendre dans le codage, pour éviter ce problème?

Est-il un autre moyen d'obtenir l'adresse IP & nom du navigateur à chaque fois?

  • certains clients/navigateurs peuvent ne pas envoyer-tête User-Agent . Essayez avec user-agent .
  • Pouvez-vous me donner le code exact?
  • stackoverflow.com/questions/1326928/...
  • Vous ne pouvez pas faire confiance à un seul octet qui vient dans votre demande dans la demande. Par conséquent, vous ne pouvez pas faire confiance n'importe quoi pour être non-nulle.
InformationsquelleAutor RAS | 2013-06-18