Calculadora jsp em mvc

1 resposta
C

Boa tarde galera,
to precisando de uma ajuda.... tenho está calculadora abaixa em java web.
Não estou conseguindo retornar o valor inteiro para a jsp.
podem me dizer como faço isso?
obrigado.

Pagina da servlet...
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controle;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import modelo.vo_calculadora;


@WebServlet(name = "sv_calculadora", urlPatterns = {"/sv_calculadora"})
public class sv_calculadora extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, SQLException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();

      //HttpSession sessao = request.getSession(true);
      String opcao = request.getParameter("act");

      vo_calculadora obj_calc_vo = new vo_calculadora();

     // dao_calculadora obj_calc_dao = new dao_calculadora();

            String num1 = request.getParameter("n1");
            String num2 = request.getParameter("n2");
            //String resultado = request.getParameter("");

            int result;
        if (opcao.equals("soma")) {

          int n1 = Integer.parseInt(num1);
          int n2 = Integer.parseInt(num2);
          //int result = Integer.parseInt(resultado);
           
            obj_calc_vo.setValor1(n1);
            obj_calc_vo.setValor2(n2);

            result = n1 + n2;
           // out.println(result);
            request.setAttribute("result", result);
           
            RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
            rd.forward(request, response);
        }

    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (SQLException ex) {
            Logger.getLogger(sv_calculadora.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (SQLException ex) {
            Logger.getLogger(sv_calculadora.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}

pagina da jsp

<%@page import="javax.naming.spi.DirStateFactory.Result"%>
<%@page import="modelo.vo_calculadora"%>

<%@page import="java.util.List"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@page contentType="text/html" pageEncoding="ISO-8859-1"%>

"http://www.w3.org/TR/html4/loose.dtd">




Calculadora


1° Número:

2° Número:


Soma

Subtração

Divisão

Multiplicação


Resultado:

<%

//String num2 = request.getParameter("result");
//int n1 = Integer.parseInt(num1);

String result = (String) request.getParameter("result");

int resultado = Integer.parseInt(result);

System.out.print(resultado); //if (session.getAttribute("obj_calc_vo") != null) {
//vo_calculadora obj_calc_vo = (vo_calculadora) session.getAttribute("obj_calc_vo");
%>


Erro que esta dando

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NumberFormatException: null
root cause

java.lang.NumberFormatException: null
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.

--------------------------------------------------------------------------------

GlassFish Server Open Source Edition 3.0.1

1 Resposta

C

OK, já consegui resolver o problema… eu tinha que transformar o valor inteiro do resultado da soma para String novamente para pode retornar para a servlet.

Criado 22 de março de 2011
Ultima resposta 22 de mar. de 2011
Respostas 1
Participantes 1