Meu j2ee não funciona

11 respostas
fel_augusto

Olá à todos. Acabei de baixar o j2ee e não consigo compila os servlets. O Código do Servlet está abaixo:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class teste extends HttpServlet{
	
	public void doGet(HttpServletRequest request, HttpServletResponse response){
		try{
			response.setContentType("text/html");
			
			PrintWriter out=response.getWriter();
			
			out.println("<html>");
			out.println("<head>");
			out.println("<title>Felipe - Primeiro Servle </title>");
			out.println("<body> 
 <h1>Felipe Augusto</h1> 
 </body>");
			out.println("</html>");
		}
		catch(Exception e){
			System.out.println("Error: "+e);
		}
	}
	
}

Acho que não tem nada de errado com o código acima...... está bem simples....

O problema também pode estar no AutoExec...... que está assim:

SET JAVA_HOME=C:j2sdk SET JSWDK_HOME=C:JSDK2.0 SET J2EE_HOME=C:j2sdkee1.3.1 SET TOMCAT_HOME=C:Arquivos de programasApache GroupTomcat 4.1 SET PATH=C:WINDOWS;C:WINDOWSCOMMAND;"C:Arquivos de programasNorton SystemWorksNorton Ghost";C:j2sdkin;C:j2sdkjrein;"C:Arquivos de programasApache GroupTomcat 4.1commonlib" SET CLASSPATH=.;C:j2sdklib*.jar;C:j2sdkee1.3.1lib*.jar;C:j2sdk;
e mais algumas linhas que não são muito importantes.... (são sobre o temp, o windir e prompt). Alguém sabe porque RAIOS eu não consigo compila e nem roda meu servlets?? Ah....... todos os outros arquivos em java compilam e rodam normalmente!

11 Respostas

RodrigoSol

Qual é o erro?

fel_augusto

qdo eu vo compila, ele da 5 erros: 2 nas importações do servlet ( javax.servlet.* e no javax.servlet.http.* ) e os outros 3 são no “extends Servlet” (ele ñ acha), e no HttpServletRequest e no HttpServletResponse

R

perdao a ignorancia, mas isso aki funfa??

C:\j2sdk\lib\*.jar;C:j2sdkee1.3.1\lib\*.jar

:?: :?: :?:

fel_augusto

em termos sim

a parte do “C:j2sdklib*.jar” está funcionando certinhu

soh a parte do j2ee q ñ funciona (C:\j2sdkee1.3.1*.jar)

RodrigoSol

Dê uma olhada aqui :arrow: http://www.guj.com.br/java.artigo.108.1.guj

fel_augusto

Mas se é assim, porque RAIOS eu consigo compila os outros arquivos de java normalmente??

Acabei de fazer um teste aki e consegui compila e roda o programa abaixo normalmente. Só não consigo compila e roda os Servlets. Veja o código do programa que eu acabei de rodar (note que também há importações)

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class ProgCalc extends JFrame implements ActionListener {
	int b, c, d, e, f;
	JPanel pc, ps;
	JLabel lblPC, lblNum, lblRes, lblFinal;
	JTextField txtNum;
	JButton btnPar, btnFat, btnPrimo, btnPer;
	
	public ProgCalc() {
		pc=new JPanel(new GridLayout(3, 2, 10, 10));
		ps=new JPanel();
		lblPC=new JLabel("Programa de Cálculo", SwingConstants.CENTER);
		lblNum=new JLabel("Número", SwingConstants.RIGHT);
		lblRes=new JLabel("Resultado:");
		lblFinal=new JLabel();
		txtNum=new JTextField(10);
		btnPar=new JButton("Par/Impar");
		btnPar.addActionListener(this);
		btnFat=new JButton("Fatorial");
		btnFat.addActionListener(this);
		btnPrimo=new JButton("Primo");
		btnPrimo.addActionListener(this);
		btnPer=new JButton("Perfeito");
		btnPer.addActionListener(this);
	}
	
	public void mostra(){
		txtNum.setText("0");
		Container cp=getContentPane();
		cp.add(lblPC, "North");
		pc.add(lblNum);
		pc.add(txtNum);
		pc.add(btnPar);
		pc.add(btnFat);
		pc.add(btnPrimo);
		pc.add(btnPer);
		cp.add(pc, "Center");
		ps.add(lblRes);
		ps.add(lblFinal);
		cp.add(ps, "South");
		setTitle("Eventos de Cálculo");
		//setBounds(100, 200, 300, 250);
		pack();
		setLocation(350, 300);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public void actionPerformed(ActionEvent evt) {
		Object source=evt.getSource();
		String a=txtNum.getText();
		int n=Integer.parseInt(txtNum.getText());
		try{
			if(source==btnPar){
				if(n%2==0)
					lblFinal.setText("O número " + a + " é par");
				else
					lblFinal.setText("O número " + a + " é impar");
			}
			if(source==btnFat){
				b=1;
				c=1;
				if(n>33)
					lblFinal.setText(n+" é muito alto, favor digitar um menor");
				else{
					for(b=1;b<=n;b++){
					c*=b;
					}
					lblFinal.setText("" + c);
				}
			}
			if(source==btnPrimo){
				b=1;
				c=1;
				if(n/2<1)
					lblFinal.setText(a + " não é primo");
				
				else if(n==2 || n==3)
					lblFinal.setText(a + " é primo");
					
				else {
					for(b=2;b<=n/2;b++){
						if(n%b==0){
							lblFinal.setText("O número " + a + " não é primo");
							return;
						}
						else
							lblFinal.setText("O número " + a + " é primo");
					}
				}
			}
			if(source==btnPer){
				b=1;
				c=0;
				for(b=1;b<=n/2;b++){
					if(n%b==0){
					c+=b;
					if(c==n)
						lblFinal.setText("O número " + a + " é perfeito");
					else
						lblFinal.setText("O número " + a + " não é perfeito");
					}
				}
			}
		}
		catch(NumberFormatException e){
			String d=e.getMessage();
			JOptionPane.showMessageDialog(null, d);
			n=0;
			txtNum.requestFocus();
		}
		catch(ArithmeticException e){
			String d=e.getMessage();
			JOptionPane.showMessageDialog(null, d);
			n=0;
			txtNum.requestFocus();
		}
	}
	
	public static void main(String[] args){
		ProgCalc b=new ProgCalc();
		b.mostra();
	}
}
RodrigoSol

E o servlet.jar tah no seu classpath? eu acho que não. Da uma olhada aí.

fel_augusto

Acabei de fazer o teste, e tambem não deu certo ñ
Eu coloquei o Servlet.jar que está no C:jswdk-1.0.1libservlet, e o que ta na pasta do TOMCAT - (qndo eu coloco esse, ele fala que ta “sem espeço de Ambiente” e seu eu coloco qualker outro, o AutoExec não da nenhum erro)

Mais alguma coisa q eu possa fazer??

RodrigoSol

Tente compilar passando -classpath <caminho e nome do servlet.jar> no comando javac

fel_augusto

RodrigoSol, vlw mesmo. Usando o -classpath <caminho e nome do servlet.jar> eu consegui compila o servlet. Agora eu só queria saber uma coisinha: porque usando isso (-classpath <caminho e nome do servlet.jar>) eu consigo compila e no normal não, sendo que o mesmo arquivo já está no meu AutoExec?? Eu vo te que usa esse comando toda vez que eu for compila um Servlet??

Olha meu AutoExec:

SET PATH=C&#58;\WINDOWS;C&#58;\WINDOWS\COMMAND;"C&#58;\Arquivos de programas\Norton SystemWorks\Norton Ghost\";C&#58;\j2sdk\bin;C&#58;\j2sdk\jre\bin;

SET CLASSPATH=.;C&#58;\j2sdk\lib\*.jar;C&#58;\j2sdk;C&#58;\j2sdkee1.3.1\lib\*.jar;C&#58;\Arquivos de programas\Apache Group\Tomcat 4.1\common\lib\*.jar";C&#58;\jswdk-1.0.1\lib\servlet.jar;"
                                     ^^^^^^^^^^^^^^
                                       é esse servlet que eu coloco quando vou compila &#40;javac -classpath C&#58;\jswdk-1.0.1\lib\servlet.jar; nome_do_arquivo.java&#41;.
fel_augusto

Blezura agora… bem agora eu já estou conseguindo compila os meus Servlet, porém, eu não estou consiguindo rodar eles. Estou usando o jswdk1.0.1 da Sun. Nele já vem o varios arquivos de Exemplos, e esses eu consigo rodar, só os meus que não. Por Exemplo, na pasta servlet, tem um arquivo SnoopServlet, que está configurado para ser “chamado” quando escrever snoop no browser. Esse funciona normalmente. Mas os que eu faço já não funciona. Aparece um erro de “Socket is Closed”. O que isso pode ser?? Ah, as configurações que eu tenho que fazer, quais são?? Eu sei que tenho q colocar meus servlet na pasta servlet e especificá-los no arquivo servlet.properties… É só issu??

Acabei de fazer um pequeno teste aki, e descobri que se eu copia todo o código do SnoopServlet (que está funcionando) e colocar na pasta com um outro nome, eu não consigo fazer ele rodar.

Criado 22 de outubro de 2004
Ultima resposta 23 de out. de 2004
Respostas 11
Participantes 3