Erro no meu exemplo! Não sei mais o que faço!

Bom dia pessoal! Estou fazendo um exemplo de uso de Servlet e JSP todo na mão, pra aprender direitinho como as coisas funcionam.
Bom, estou com um problema e nao sei mais o q fazer, deem uma olhada e vejam se conseguem achar algum erro

O Jps é isso:

[code]<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>

Insert title here Numero 1 :
Numero 2 :
	</form>
[/code]

Esse JSP manda dois valores por GET pra o servlet NovoServlet, que é assim:

[code]package web;

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

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class NovoServlet extends HttpServlet{

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
	 response.setContentType("text/html;charset=UTF-8");
	
	PrintWriter out = response.getWriter();
	
	try {
		String n1 = request.getParameter("num1");
		String n2= request.getParameter("num2");
		
		Integer int1 = new Integer(n1);
		Integer int2= new Integer(n2);		
		
		out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet</title>");  
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Novo Servlet</h1>");            
        out.println(soma(int1.intValue(),int2.intValue()));            
        out.println("</body>");            
        out.println("</html>");		
        out.close();
	 } finally { 
            out.close();
      }		
}

public int soma(int a, int b) {
	return a+b;
}	

}
[/code]

o web.xml está assim:

[code]<?xml version="1.0" encoding="UTF-8"?>


NovoServlet
web.NovoServlet


NovoServlet
/web/NovoServlet

<welcome-file-list>
	<welcome-file>index.jsp</welcome-file>
</welcome-file-list>	

[/code]

Eu empacoto os arquivos em um WAR, usando o ant, mas creio q o problema não seja esse…vai o build.xml mesmo assim:

<?xml version="1.0"?> <project name="pack"> <target name="war" description="Empacota o projeto em um arquivo WAR"> <war destfile="ProjetoWeb.war" basedir="../web" webxml="WEB-INF/web.xml" > <classes dir="../bin"> <include name="**"/> </classes> </war> </target> </project>

O problema é o seguinte. Eu jogo o WAR criado la na pasta deploy do Jboss, ate aí tudo normal… A pagina inicial roda normalmente, aí qndo eu insiro os numeros e envio, a próxima página fica em branco, sem nenhum código HTML, sem nada mesmo…ja tentei várias coisas, mas nada ta resolvendo…

Alguém sabe o que eu poderia fazer pra resolver o problema?

Um abração

Maracajá

Olá.

Porque vc fecha seu OutputStream duas vezes?
Feche ele só no finally.

Olha seu formulário: Vc tem dois campos com o mesmo nome (num1 num1).
Na hora q vc tenta obter o valor do mesmos pelo request.getParameter, o segundo (num2) retorna null pois não existe um campo com o nome num2… Ai vc usa um null para construir um Integer… Provavelmente está dando uma NullPointerException. Dê uma olhada nos logs do JBoss.

Para facilitar sua vida, use uma IDE que ela vai te mostrar o log do seu servidor. Se vc usar a IDE para trabalhar com servlets vc não vai ter problema em não aprender de forma correta como vc disse. A IDE vai te ajudar no processo de empacotamento e deploy para ir testando sua aplicação.

Abraço!

acho que dá um erro de NUMBERFORMATEXCEPTION

qdo vc faz

String n1 = request.getParameter(“num1”);

String n2= request.getParameter(“num2”);

Integer int1 = new Integer(n1);

Integer int2= new Integer(n2);

Use assim

String n1 = request.getParameter(“num1”);

String n2= request.getParameter(“num2”);

int int1 = Integer.parseInt(n1);

int int2= Integer.parseInt(n2);

Primeiro coloque um tratamento de exception para testar… mas eu acho q é isto ai
flw
leo

Tente trocar isso, por que já esta mapeado no web.xml:

<form action="web/NovoServlet" method"GET"> 

Para:

<form action="/NovoServlet" method"GET"> 

E o numero 2 está errado, olhe o request na Servlet:

Numero 2 : <input type="text" name="num1"><br>

Troque por:

Numero 2 : <input type="text" name="num2"><br>

Pessoal! Agora funcionou certinho! Por incr’ivel que pareca, o erro era no formulario mesmo, foi isso que resolveu! :smiley:

Muito obrigado mesmo

agora soh respondendo…

Eu tinha feito esse mesmo exemplo no NetBeans, e rodou facinho, sem nenhum problema, so que fiquei meio intrigado de como que ele fazia as coisas, principalmente sobre o web.xml, que ele ja gera sozinho e tudo mais. A’i resolvi fazer no eclipse mesmo, e fazer tudo na mao :-o

Brigadao a todos! Fizeram meu dia!

Maracaja