0

Integrando o PHP com Java (parte 3)

criado por Rodrigo Rodrigues em 13/07/2004 2:02pm
Antes de começar, o que é J2EE e para que serve?
J2EE(Java 2 Enterprise Edition) é um modelo de componentes envolvendo diversas tecnologias com o objetivo de simplificar o desenvolvimento, traduzindo para o nosso mundo PhpManiáco J2EE nada mais é do que uma Interface para Programação de Aplicativos(API). :)

Nosso script irá se integrar com o componente "Servlet", antes precisamos ter um Container-Web(um dos mais conhecidos é o Tomcat - http://jakarta.apache.org/) instalado na máquina.

Depois de instalado corretamente o Tomcat precisamos configurar o php.ini, acrescente na linha "java.class.path" o caminho do ".jar" da Servlet do Tomcat.
C:\Caminho aonde o Apache Tomcat foi instalado\common\lib\servlet.jar

Agora, criaremos a servlet.

PhpBrasil.java
package com.phpbrasil.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.*;
import javax.servlet.http.*;

public class PhpBrasil extends HttpServlet {
	private String html = "<HTML>\n<HEAD>\n<TITLE>Integrando Java(MVC) com PHP</TITLE>\n</HEAD>\n<BODY>\nHello Java para o PHP, é nóis!\n</BODY>\n</HTML>";

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		response.setContentType("text/html");
		PrintWriter printWriter = response.getWriter();
		printWriter.println(html);
	}	
	
	public String getPhpBrasil(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		return html;
	}
}
Depois de compilada a classe criamos o script.

phpbrasil.php
$phpBrasil = new Java('com.phpbrasil.servlet.PhpBrasil');
echo $phpBrasil->getPhpBrasil(null, null);

Algumas explicações.
O "throws" serve para tratar exceções.
Na servlet os métodos tem como padrão paramêtros "request(requisição do Client) e response(resposta para o Client)", já que o Php não tem esse recurso(pelo menos eu ainda não descobri?) passa um null para não dar exceção(java.lang.IllegalArgumentException) quando executar o script.

Caso você queira chamar no Jsp(usando a porta do Tomcat é claro) configure seu web.xml do projeto específico.

Maiores dúvidas sobre Java, Tomcat, Jsp, Servlet - http://www.portaljava.com.br/home/modules.php?name=Forums&file=viewforum&f=3&topicdays=0&start=750 ou http://www.phpbrasil.com/articles/article.php/id/777

Espero que tenham gostado do artigo ele foi bem simples, a 4° parte falará detalhadamente de uma aplicação usando o padrão de modelo MVC(Model View Controller) de Java com Php.

Sem mais, Rodrigo Rodrigues.

Comentários:

Mostrando 1 - 4 de 4 comentários
Tem como acessar um programa em c++ passando uma imagem como referencia!!!
13/06/2005 11:43pm (~19 anos atrás)

lento aonde ?? isso é lenda meu o pessoal da Sun já reverteu isso já meu , era lento por causa que usavam muito Applets que precisam ser baixados no micro do cliente para ser execultado.
Hoje em dia existe varios framework's maravilhosos como o WebWork entre outros... que ajudam muito no desenvolvimento, alem de n padrões que podem ser usados para melhorar o codigo para ter uma boa perfomance...
16/08/2004 7:05pm (~19 anos atrás)

E a velocidade do site?

Sabemos que Java é lento...

nesse caso, é sentido sua lentidão?
18/07/2004 6:28pm (~20 anos atrás)

Nossa bacana seu artigo.

Tipo assim eu crio uma classe em java que faz uma conexão por socket crio la o metodo enviaMensagem que como proprio nome diz envia uma mensagem para o servidor.

Sera que eu conseguiria executar esse metodo pelo PHP . Ficaria assim fica enviando dados pelo browser que aparece no prompt do dos da maquina servidora....

Agora fiquei curioso vou testar isso.
14/07/2004 3:57pm (~20 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)