2010-06-24 6 views
2

Je souhaite inclure les fichiers JSP qui contiennent du code java dans un modèle PHP. Les deux inclus en question sont un fichier d'en-tête et un fichier de pied de page. Quelqu'un at-il une expérience de faire cela? Nous envisageons de faire une requête HTTP pour récupérer indépendamment le HTML résultant des fichiers JSP, mais nous ne sommes pas sûrs qu'il y aura de légers problèmes de performance.Comment inclure une page JSP dans une page PHP

Existe-t-il une meilleure solution utilisant certains des outils d'Apache pour effectuer cela?

Répondre

8
echo file_get_contents('http://full/link/to/jsp/page'); 

Si votre page JSP fait l'écho d'un en-tête, structure du corps, vous devrez le retirer. Vous pouvez le faire du côté JSP ou PHP.

Cette fonction est désactivée sur certains systèmes. Vous devrez peut-être utiliser cURL (cela vous permet également de publier des messages que vous devrez peut-être faire si vous utilisez des formulaires).

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); 
curl_setopt($ch, CURLOPT_URL, 'http://full/link/to/jsp/page'); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
echo curl_exec($ch); 
2

Vous ne pouvez pas inclure une page JSP dans une page PHP.

Vous pouvez faire ce que vous en pensez: faire une requête HTTP pour obtenir du contenu HTML de JSP et l'intégrer dans le résultat PHP. Pas joli, mais ça marchera.

0

Il existe l'extension Java/PHP Integration, mais elle ne permet pas de compiler du code Java. Je ne pense pas qu'il existe un moyen de compiler Java à partir de PHP, sinon d'exécuter des commandes en ligne de commande.

0

En fonction de vos besoins, si vous ne voulez pas avoir un impact chargement de la page, vous pouvez également effectuer une AJAX demande de saisir le contenu une fois que la page HTML est chargée, et l'injecter dans la page: cela déplacerait le problème au client.

Est-ce que cette page JSP change fréquemment, ou dépend des paramètres de la page PHP (une sorte de publicité)?

Vous pouvez également mettre en cache la sortie de votre JSP (même par les paramètres) pour une paire d'heures ou une journée entière, pour éviter d'appeler la page à chaque requête.

Questions connexes