J'écris une application qui doit être capable de gérer les demandes HTTP à partir d'une source externe (dans ce cas, c'est en fait un script de Second Life). J'ai commencé par utiliser httpComponents par Apache , qui a été excellent tant que le serveur Java n'avait qu'à répondre aux demandes d'obtenir . Maintenant, il doit être en mesure de recevoir des données du corps des demandes postales et je ne vois aucune façon de le faire avec J'ai trouvé sur certaines googling qu'il y a un serveur HTTP de base inclus dans les paquets SUN. Aux fins de la présente demande, il pourrait être nécessaire que cela ne fonctionne que sur une mise en œuvre réelle Sun / Oracle JVM - mais c'est toujours un code qui mène à moi, et je ne le ferais probablement que si la seule option était d'écrire mon Propre de la bibliothèque de serveurs HTTP à partir de zéro, en fonction des sockets et de tels. Toute suggestion d'alternative? P> httpComponents code>. Y a-t-il une bibliothèque supérieure à utiliser pour cela? p>
3 Réponses :
Utilisez Apache Tomcat. C'est le serveur Web Java standard. P>
+1 - Ouais, pourquoi pas? Ou jetée - c'est assez léger, aussi. Pourquoi écrire quoi que ce soit?
Je ne tenais pas compte de Tomcat ou de Jetée, car l'application ne servait pas vraiment de pages HTML standard ou quoi que ce soit de similaire - il suffit de tirer parti du fait que les scripts de seconde vie peuvent faire des demandes HTTP. C'est plus d'un RMI piraté-ensemble, si quelque chose.
Tomcat et Jetée sont des moteurs de servlet; Les servlets sont http i> auditeurs. Que doit faire HTML avec cela?
@duffymo: Je me souviens de vous des forums de Sun Java quand j'étais enfant! Je suppose qu'ils ne sont plus autour d'Oracle reprenant ...
"enfant"? Oh mon. Ravi de vous revoir, KTM5124.
Vous pouvez accéder à l'entité si la demande est un httpentityenclosingRequest code> . Il y a un exemple simple a> démontrer l'utilisation de cette classe. P>
Si vous voulez quelque chose de minimal, Nanohttpd est bon. Il utilise uniquement des bibliothèques de base Java et est un fichier unique. P>
L'inconvénient est qu'il ne semble pas tirer parti de Nio, qui peut vraiment accélérer le débit de réseau. P>