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
(~21 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
(~21 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
(~21 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
(~21 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>