Integrando o PHP com Java (parte 2)
Criaremos as páginas que foram registradas na Tabela MENU.
seguranca.php
**
**
corinthians.php
**
**
prasempre_ch.php
**
A novidade nas páginas é a chamada da função - doPermissaoNavegacaoLink("pagina_atual.php"), ela verifica se o usuário corrente tem acesso no link atual.
Função "doLogadoUser()" verifica se o user se logou no Sistema.
Função "doPermissaoUsuario($_SESSION['idUsuarioSession'])" monta as permissões que o usuário terá acesso.
Função "noCache()" não permite cache no Browser Cliente.
Função "doMontaMenu($_SESSION['idUsuarioSession'])" monta o Menu para o usuário.
Na versão atual do Php existem poucos comandos para interagir com Java, apenas 3.
new Java('Classe'); // Para instância a nossa Classe Java.
java_last_exception_get() Verifica se o Java estorou algum exceção.
java_last_exception_clear() Limpa a execeção
Mostrarei um exemplo de como tratar as exceções de Java no "PHP", eu não recomendo que façam isto porque com os "Warnings" o PHP detalha melhor aonde encontrar o problema.
Implementaremos 3 funções na classe "PHP".
classe_main_phpjava.php
**
Implemente agora na classe "Java" o método com controle de acesso "privado".
Java.PHP
**
**
Chame essa função "doTratarExcecao()" dentro da página restrita.php.
<?=$javaPHP->doTratarExcecao()?>
Pronto, terminamos nosso sistema veja na próxima página as classes organizadas.
seguranca.php
**
<?php include_once("classe_main_phpjava.php"); $javaPHP = new JavaPHP(); $javaPHP->doLogadoUser(); $javaPHP->doPermissaoUsuario($_SESSION['idUsuarioSession']); $javaPHP->noCache(); $javaPHP->doPermissaoNavegacaoLink("seguranca.php"); if ($_GET['acao'] == "sair"){ $javaPHP->doSairSistema(); } ?> <html> <head> <title>Interagindo Java+PHP : Segurança</title> </head> <body> <?=$javaPHP->doMontaMenu($_SESSION['idUsuarioSession'])?> <br> <div align="center">OK, tome cuidado mané aqui é a Segurança da parada.</div> </body> </html>
corinthians.php
**
<?php include_once("classe_main_phpjava.php"); $javaPHP = new JavaPHP(); $javaPHP->doLogadoUser(); $javaPHP->doPermissaoUsuario($_SESSION['idUsuarioSession']); $javaPHP->noCache(); $javaPHP->doPermissaoNavegacaoLink("corinthians.php"); ?> <html> <head> <title>Interagindo Java+PHP : Corinthians</title> </head> <body> <?=$javaPHP->doMontaMenu($_SESSION['idUsuarioSession'])?> <br> <div align="center">Corinthians, Campeão dos Campeões.</div> </body> </html>
prasempre_ch.php
** <?php include_once("classe_main_phpjava.php"); $javaPHP = new JavaPHP(); $javaPHP->doLogadoUser(); $javaPHP->doPermissaoUsuario($_SESSION['idUsuarioSession']); $javaPHP->noCache(); $javaPHP->doPermissaoNavegacaoLink("prasempre_ch.php"); ?> <html> <head> <title>Interagindo Java+PHP : Chaves e Chapolin</title> </head> <body> <?=$javaPHP->doMontaMenu($_SESSION['idUsuarioSession'])?> <br> <div align="center">Chaves e Chapolin Eternamente, valeu Chespirito por me oferecer 30 anos de gargalhadas.</div> </body> </html>
A novidade nas páginas é a chamada da função - doPermissaoNavegacaoLink("pagina_atual.php"), ela verifica se o usuário corrente tem acesso no link atual.
Função "doLogadoUser()" verifica se o user se logou no Sistema.
Função "doPermissaoUsuario($_SESSION['idUsuarioSession'])" monta as permissões que o usuário terá acesso.
Função "noCache()" não permite cache no Browser Cliente.
Função "doMontaMenu($_SESSION['idUsuarioSession'])" monta o Menu para o usuário.
Na versão atual do Php existem poucos comandos para interagir com Java, apenas 3.
new Java('Classe'); // Para instância a nossa Classe Java.
java_last_exception_get() Verifica se o Java estorou algum exceção.
java_last_exception_clear() Limpa a execeção
Mostrarei um exemplo de como tratar as exceções de Java no "PHP", eu não recomendo que façam isto porque com os "Warnings" o PHP detalha melhor aonde encontrar o problema.
Implementaremos 3 funções na classe "PHP".
classe_main_phpjava.php
**
function getException($line) { $exception = java_last_exception_get(); if ($exception) { return "Ocorreu um erro(".$exception->toString().")."; } } function doClearException() { $clearException = java_last_exception_clear(); return $clearException; } function doTratarExcecao() { $tratarExcecao = @$this->javaPhp->doTratarExcecao(); $excecao = $this->getException(); if ($excecao) { return $excecao; $this->doClearException(); } else { return $tratarExcecao; } }
Implemente agora na classe "Java" o método com controle de acesso "privado".
Java.PHP
**
private String doTratarExcecao() { return "OK"; }
Chame essa função "doTratarExcecao()" dentro da página restrita.php.
<?=$javaPHP->doTratarExcecao()?>
Pronto, terminamos nosso sistema veja na próxima página as classes organizadas.
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.11.zip/from/http://mysql.mirror.netmonic.com/ esse funciona eu já baixei tem 7MB
24/10/2005 2:50pm
(~19 anos atrás)
24/10/2005 2:38pm
(~19 anos atrás)
Prezado amigo,
Li os seus artigos no PHPBRASIL sobre php com java e estão sendo muito úteis para mim. Entretanto estou com uma dúvida terrível e peço sua ajuda.
eu estou usando dois arquivos .jar
httpclient.jar e getUrl.jar
eu coloquei assim no meu php.ini:
java.class.path = "C:\apache\php\JAVA\php_java.jar;C:\apache\php\java_class\getUrl.jar;C:\apache\php\java_class\getUrl.jar\commons-httpclient-2.0.2.jar;C:\apache\php\java_class"
java.home = "C:\j2sdk1.4.2_05\bin"
java.library = "C:\j2sdk1.4.2_05\jre\bin\server\jvm.dll"
java.library.path = "C:\apache\php\extensions"
entretanto quando rodo a página php que eu fiz, ele lança uma ClassNotFound Exception.
vc poderia me dizer como que eu faço para ele encontrar os meus .jar ?
meu php está assim:
<?
$url_final = "http://www.uol.com.br";
$string_url=(String) $url_final;
$getStj = new Java("GetStj");
$html=$getStj->getHtml($string_url);
?>
desde já agradeço imensamente.
Alexandre
Li os seus artigos no PHPBRASIL sobre php com java e estão sendo muito úteis para mim. Entretanto estou com uma dúvida terrível e peço sua ajuda.
eu estou usando dois arquivos .jar
httpclient.jar e getUrl.jar
eu coloquei assim no meu php.ini:
java.class.path = "C:\apache\php\JAVA\php_java.jar;C:\apache\php\java_class\getUrl.jar;C:\apache\php\java_class\getUrl.jar\commons-httpclient-2.0.2.jar;C:\apache\php\java_class"
java.home = "C:\j2sdk1.4.2_05\bin"
java.library = "C:\j2sdk1.4.2_05\jre\bin\server\jvm.dll"
java.library.path = "C:\apache\php\extensions"
entretanto quando rodo a página php que eu fiz, ele lança uma ClassNotFound Exception.
vc poderia me dizer como que eu faço para ele encontrar os meus .jar ?
meu php está assim:
<?
$url_final = "http://www.uol.com.br";
$string_url=(String) $url_final;
$getStj = new Java("GetStj");
$html=$getStj->getHtml($string_url);
?>
desde já agradeço imensamente.
Alexandre
23/03/2005 1:02pm
(~20 anos atrás)
Nesse link(http://www.phpbrasil.com/scripts/download.php/id/2315) tem a versão "completa" do artigo.
04/05/2004 11:44am
(~20 anos atrás)
Tengo un proflema tengo una clase java con una función que llama a System.out.println("Hola"); y una pagina php que llama a este método, y el sistema me da un error, si quito esta linea funciona bien. Me gustaría saber si tengo que realizar álgún cambio en la configuración para redireccionar la salida estandard o que muchas gracias y perdon por no hablar portugés
04/05/2004 3:26am
(~20 anos atrás)
Bom, com essa integração da pra perceber como pode ser forte o uso combinado dos dois. É claro, que prefiro usar o Mysql com o php e integrar o java para algo livetime, mas seu exemplo é de muito bom tamanho e me mostrou como posso integrar essas duas linguagens poderosas, e que tem, de certo modo, um uso diferente, o que possibilita algo grande e bem feito.
29/04/2004 11:58am
(~20 anos atrás)
O artigo devia explorar rapidamente a documentação da parte de SQL em Java, pois isto ficou obscuro e atrapalhou o entendimento do funcionamento da classe JavaPHP criada.
Fora isto, a intenção do artigo foi atingida, deixando claro a integração PHP, Java e MySQL.
parabéns!
Fora isto, a intenção do artigo foi atingida, deixando claro a integração PHP, Java e MySQL.
parabéns!
27/04/2004 4:44pm
(~20 anos atrás)
O JavaScript abaixo não roda através do navegador Firefox. Será que VC poderia me ajudar alterando algum(s) parâmetro(s) ? Agradeço desde já = Fiumari:
<script language="JavaScript"> var ultimo=-1, dBanner;
function carrega(x) {dBanner=x;Banners()}
function Banners()
{ var MNews = new Array();
MNews[0]= '<iframe " name="_blank" scrolling="no" src="http://www.finet.com.br/google.htm" width="100%" frameborder="0" target="_blank" height="350" BORDER="0"></iframe><a href="http://www.finet.com.br/google.htm" target="_blank"></a>';
MNews[1]= '<iframe " name="_blank" scrolling="no" src="http://www.finet.com.br/google2.htm" width="100%" frameborder="0" target="_blank" height="350" BORDER="0"></iframe><a href="http://www.finet.com.br/google2.htm" target="_blank"></a>'
while((Numero = parseInt(Math.random()*MNews.length))==ultimo);
dBanner.innerHTML=MNews[Numero];
setTimeout("Banners()",15000);
} </script>