Integrando o PHP com Java (parte 2)
Classe Java - JavaPHP.java
**
**
Classe PHP - classe_main_phpjava.php
**
**
Espero que tenham gostado do artigo, caso tenha algum erro ortográfico, lógico favor poste uma mensagem pra mim.
Sem mais, Rodrigo Rodrigues.
**
package br.com.phpbrasil.artigo; import java.sql.*; public class JavaPHP { public JavaPHP() { } public boolean doProcessaForm(String usuario, String senha) { if (usuario.equalsIgnoreCase("phpbrasil") && senha.equalsIgnoreCase("senha")){ return true; } return false; } public static void main(String php[]) { final Connection connection = ConexaoDB.getConexao(); try { String pt_usuario = "Mostra os usuarios da Tabela PT_USUARIO\n"; PreparedStatement preparedStatement = connection.prepareStatement("SELECT usuario FROM pt_usuario"); ResultSet resultSet = preparedStatement.executeQuery(); int i = 0; while (resultSet.next()){ pt_usuario += "USUARIO: "+resultSet.getString(1) + "\n"; i++; } if (i == 0){ pt_usuario = "Não foi encontrado nemhum valor."; } preparedStatement.close(); resultSet.close(); System.out.println(pt_usuario); } catch(SQLException e) { System.out.println(e); } finally { ConexaoDB.close(connection); } } public String doValidacao(String usuario, String senha) { final Connection connection = ConexaoDB.getConexao(); String idUsuario = ""; try { PreparedStatement preparedStatement = connection.prepareStatement("SELECT id_usuario FROM pt_usuario WHERE usuario = ? AND senha = ? AND ativo = 'sim'"); preparedStatement.setString(1, usuario); preparedStatement.setString(2, senha); ResultSet resultSet = preparedStatement.executeQuery(); if (!resultSet.next()){ return "notFound"; } idUsuario += resultSet.getString(1); preparedStatement.close(); resultSet.close(); } catch(SQLException e) { return e + ""; } finally { ConexaoDB.close(connection); } return idUsuario; } public String doMontaMenu(int idUsuario) { final Connection connection = ConexaoDB.getConexao(); String menu = "<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"250\" bgcolor=\"#000000\">\n"; try { PreparedStatement preparedStatement = connection.prepareStatement("SELECT m.nome_link, m.path_link, p.boolean_permissao FROM permissao AS p, menu AS m WHERE p.id_menu = m.id_menu AND p.id_usuario = ?"); preparedStatement.setInt(1, idUsuario); ResultSet resultSet = preparedStatement.executeQuery(); int i = 0; while (resultSet.next()){ if (resultSet.getString(3).equalsIgnoreCase("sim")){ menu += " <tr>\n <td bgcolor=\"#FFFFFF\" align=\"center\"><a href=\""+resultSet.getString(2)+"\">"+resultSet.getString(1)+"</a></td>\n </tr>\n"; } else { menu += " <tr>\n <td bgcolor=\"#CCCCCC\" align=\"center\"><a href=\""+resultSet.getString(2)+"\">"+resultSet.getString(1)+"</a></td>\n </tr>\n"; } i++; } menu += " <tr>\n <td bgcolor=\"#FF9933\" align=\"center\"><a href=\"pagina_restrita.php?acao=sair\">Logout</a></td>\n </tr>\n"; menu += "</table>\n"; preparedStatement.close(); resultSet.close(); if (i == 0){ return "menuNull"; } } catch(SQLException e) { return e + ""; } finally { ConexaoDB.close(connection); } return menu; } public String doPermissaoUsuario(int idUsuario) { final Connection connection = ConexaoDB.getConexao(); String pathPermissaoUsuario = ""; try { PreparedStatement preparedStatement = connection.prepareStatement("SELECT m.path_link FROM permissao AS p, menu AS m WHERE p.id_menu = m.id_menu AND p.id_usuario = ? AND p.boolean_permissao = 'sim'"); preparedStatement.setInt(1, idUsuario); ResultSet resultSet = preparedStatement.executeQuery(); int i = 0; while (resultSet.next()){ pathPermissaoUsuario += resultSet.getString(1) + ";"; i++; } preparedStatement.close(); resultSet.close(); if (i == 0){ return "permissaoNull"; } } catch(SQLException e) { return e + ""; } finally { ConexaoDB.close(connection); } return pathPermissaoUsuario; } private String doTratarExcecao() { return "OK"; } }
Classe PHP - classe_main_phpjava.php
**
<?php class JavaPHP { function JavaPHP() { $this->packageJava = "br.com.phpbrasil.artigo."; // Import do Pacote do Sistema. $this->javaPhp = new Java($this->packageJava.'JavaPHP'); // Variável ($this->rodrigoFrameworkJavaPhp) da classe instância do objeto Java. } function doProcessaForm($usuario, $senha) { if ($this->javaPhp->doProcessaForm($usuario, $senha)){ echo "Ok, usuário válido."; } else { echo "Usuário ou Senha incorretos."; } } function doValidacao($usuario, $senha) { $validacao = @$this->javaPhp->doValidacao($usuario, base64_encode($senha)); if ($validacao == "notFound"){ echo "Usuário ou Senha incorretos."; } else { session_start(); $_SESSION['idUsuarioSession'] = $validacao; $_SESSION['usuarioSession'] = $usuario; $_SESSION['senhaSession'] = base64_encode($senha); header("Location: pagina_restrita.php"); } } function doMontaMenu($idUsuario) { $menu = @$this->javaPhp->doMontaMenu($idUsuario); if ($menu != "menuNull"){ return $menu; } } function doPermissaoUsuario($idUsuario) { $permissaoUsuario = @$this->javaPhp->doPermissaoUsuario($idUsuario); if ($permissaoUsuario != "permissaoNull"){ $path = ""; $permissaoUsuario = explode("|=|", $permissaoUsuario); for ($i = 0; $i < count($permissaoUsuario); $i++){ if ($permissaoUsuario[$i] != "") { $path .= $permissaoUsuario[$i].";"; } } $_SESSION['pathMenuPermissaoUsuario'] = $path; } else { $_SESSION['pathMenuPermissaoUsuario'] = ""; } } function doPermissaoNavegacaoLink($safeIdUrl) { $permissaoNavegacao = explode(";", $_SESSION['pathMenuPermissaoUsuario']); for ($i = 0; $i < count($permissaoNavegacao); $i++){ if ($permissaoNavegacao[$i] != "") { if ($permissaoNavegacao[$i] == $safeIdUrl) { $valueBoolean = true; } } } if (!$valueBoolean){ header("Location: pagina_restrita.php"); } } function doLogadoUser() { session_start(); if (empty($_SESSION['idUsuarioSession']) and empty($_SESSION['usuarioSession']) and empty($_SESSION['pathMenuPermissaoUsuario']) and empty($_SESSION['senhaSession'])){ unset($_SESSION['idUsuarioSession']); unset($_SESSION['usuarioSession']); unset($_SESSION['pathMenuPermissaoUsuario']); unset($_SESSION['senhaSession']); session_destroy(); echo "<script>alert('Você precisa se logar antes.'); \n window.location = 'index.php';</script>"; } } function doSairSistema() { session_start(); unset($_SESSION['pathMenuPermissaoUsuario']); unset($_SESSION['idUsuarioSession']); unset($_SESSION['usuarioSession']); unset($_SESSION['senhaSession']); session_destroy(); header("Location: index.php"); } function noCache() { header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); } function getException() { $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; } } } ?>
Espero que tenham gostado do artigo, caso tenha algum erro ortográfico, lógico favor poste uma mensagem pra mim.
Sem mais, Rodrigo Rodrigues.
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
(~19 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>