JSP / Servlet ----> Pergunta básica!

2 respostas
Jaison

Pessoal estou com um problema, esse é meu primeiro servlet e JSP, meu problema a ser resolvido é o seguinte:

Quando eu digitar um numero no campo e clicar em enviar, ele vai no servlet e ve se é maior ou menor q 0 e imprime na tela uma frase "É maior q Zero" ou "É menor que zero"...

Eu fiz algo, mas, quando eu rodo e digito o número e clico em enviar ele abre o /RecuperaForm (esse é o servlet) mas aparece uma página em branco. segue os códigos a baixo...

Na página JSP

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
<head><title>JSP Page</title></head>
<body>
<center>
<form name="cad" method="post" action="RecuperaForm">
nome: <input type="text" name="campoNome">
<input type="submit" value="enviar">
</form>
</center>
</body>
</html>

No Servlet

package com.mycompany;

import java.io.*;
import java.net.*;

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

/**
 *
 * @author  Jaison
 * @version
 */
public class RecuperaForm extends HttpServlet {
    
    /** Initializes the servlet.
     */
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        
    }
    
    /** Destroys the servlet.
     */
    public void destroy() {
        
    }
    
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        /* TODO output your page here
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet</title>");
        out.println("</head>");
        out.println("<body>");
         
        out.println("</body>");
        out.println("</html>");
         */
        out.close();
    }
    
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
        
        response.setContentType("text/html");
        
        PrintWriter out = response.getWriter();
        
        int n = Integer.parseInt(request.getParameter("campoNome"));
        
        if(n<0){
            
        out.println("<html><body><br><font face='arial'>Menor que ZERO</font></body></html>");
        
        }else{
            if(n>0)
                out.println("<html><body><br><font face='arial'>Maior que ZERO </font></body></html>");
        }
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    
}

2 Respostas

marcelo_mococa

retire esta linha do teu metodo doPost

processRequest(request, response);

vc esta direcionando para este método antes de fazer a verificação.

Jaison

marcelo_mococa:
retire esta linha do teu metodo doPost

processRequest(request, response);

vc esta direcionando para este método antes de fazer a verificação.

Valeu Marceloooo!!!

Criado 22 de abril de 2006
Ultima resposta 22 de abr. de 2006
Respostas 2
Participantes 2