Erro ao alterar dados no jsp (at java.lang.Integer.parseInt(Integer.java:542)

Olá, estou a praticamente duas semanas tentando resolver esse erro. Na tela de listagem no jsp, clico em : Alterar. Quando clico em alterar, dar o seguinte erro na tela:

url : http://localhost:53886/systemnew/alterarExtintor.jsp?extcod=3

e Exception reportmessageInternal Server ErrordescriptionThe server encountered an internal error that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NumberFormatException: nullroot cause java.lang.NumberFormatException: nullnote The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 4.1 logs.GlassFish Server Open Source Edition 4.1

e esse erro na tela do glass fish no NETBEANS:

nformações: conectado com sucesso
Advertência: StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
** at java.lang.Integer.parseInt(Integer.java:615)**
** at org.apache.jsp.alterarExtintor_jsp._jspService(alterarExtintor_jsp.java:73)**
** at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)**
** at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)**
** at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)**
** at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)**
** at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)**
** at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)**
** at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)**
** at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)**
** at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)**
** at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)**
** at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)**
** at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)**
** at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)**
** at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)**
** at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)**
** at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)**
** at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)**
** at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)**
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
** at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)**
**** at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
** at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)**
** at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)**
** at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)**
** at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)**
** at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)**
** at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)**
** at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)**
** at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)**
** at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)**
** at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)**
** at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)**
** at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)**
** at java.lang.Thread.run(Thread.java:745)**

Minha tela alterar no jsp , está assim:

**<title>Cad-Extintor</title>**

** <%**
** ExtintorDao extintorDao = new ExtintorDao();**
** Extintor extintorBean = new Extintor();**
** int i = Integer.parseInt((String)request.getAttribute(“id”));**
** extintorBean = extintorDao.consultarPorId(i);**


%>

<form role="form" method="POST" action="ControlAlterarExtintor"

** <div class=“col-lg-9”
** <div class="form-group
** <labelCódigo:</label
** **
** **

**

**
** **
**
**
** Identificador:**

** **

**

**
**
**

**

**
** Valor da Recarga:**
** *

**
       </div>
   <div class="form-group">**

** Valor Aprox.:**
** **
**

**
**
**
**
**
** Peso:**
** **
** **
**   **
** L**
** **
** **
** Kg**
** **

**

**

**

**
** Tipo : **
** **
** PQ**
** **
** **
** CO2**
** **
** **
** AG**
** **
**
**

**

**
** Data de Val.**
** <input class=“form-controlcadval” name=“txtdataval” placeholder=“data validade” value<%=extintorBean.getExtdataval()%>**
** **
**
**

**

**
** <labelQntd:</label
** <input class=“form-controlcadqtde” name=“txtqntd” placeholder=" quantidade" value="<%=extintorBean.getExtqntd()%

** <p class=“help-block”</p
** </div

** <div class=“form-group”
** Descrição:</label
** <input class=“form-controlcadqtde” name=“txtdescricao” id=“txtnome” placeholder=“descrever produto”
** <textarea class=“form-control” name=“txtareadescricao” rows=“3” value="<%=extintorBean.getExtdescricao()%>"
** </textarea
** <p class=“help-block”</p
** </div

** button type=“submit” class=“btn btn-default”>Enviar</button
** button type=“reset” class=“btn btn-default”>Limpar</button
** </div
** </form

Item da lista

**

**texto em negrito

para melhor compreensao:

METODO DAO (ALTERAR E CONSULTAR POR ID)

public void alterar(Extintor extintorBean) throws SQLException{
con = ConnectionFactory.getConnection();
    sql = "UPDATE extintor SET extidentificador=?,extvalrecarga=?, extvalaprox=?,extpeso=?, extunmed=?, extipo=?, extdataval=?,"
            + "extqntd=?,extdescricao=? WHERE extcod=?";
  // psmt=null;
    try {
        psmt = con.prepareStatement(sql);
         psmt.setString(1, extintorBean.getExtidentificador());
        psmt.setString(2, extintorBean.getExtvalrecarga());
        psmt.setString(3,extintorBean.getExtvalaprox());
        psmt.setString(4, extintorBean.getExtpeso());
        psmt.setString(5, extintorBean.getExtunmed());
        psmt.setString(6, extintorBean.getExtipo());
        psmt.setString(7, extintorBean.getExtdataval());
        psmt.setString(8,extintorBean.getExtqntd());
        psmt.setString(9,extintorBean.getExtdescricao());
        psmt.setInt(10,extintorBean.getExtcod());
        
        psmt.execute();
    } catch (SQLException ex) {
        System.out.println("Erro ao salvar- DAO");
        Logger.getLogger(ExtintorDao.class.getName()).log(Level.SEVERE, null, ex);
    }finally{
        con.close();
        psmt.close();
    }      
}

public Extintor consultarPorId(int codigo) {
    //Extintor extintorBean = null;
    Extintor extintorBean = new Extintor();
    con = ConnectionFactory.getConnection();
    sql = "SELECT * FROM extintor WHERE extcod='"+codigo+"'"; 
    try {
        psmt = con.prepareStatement(sql);
        psmt.setInt(1, codigo);
        rs = psmt.executeQuery();
        if(rs.next()){
            extintorBean = new Extintor();
            extintorBean.setExtcod(rs.getInt("extcod"));
            extintorBean.setExtidentificador(rs.getString("extidentificador"));
            extintorBean.setExtvalrecarga(rs.getString("extvalrecarga"));
            extintorBean.setExtvalaprox(rs.getString("extvalaprox"));
            extintorBean.setExtpeso(rs.getString("extpeso"));
            extintorBean.setExtunmed(rs.getString("extunmed"));
            extintorBean.setExtipo(rs.getString("extipo"));
            extintorBean.setExtdataval(rs.getString("extdataval"));
            extintorBean.setExtqntd(rs.getString("extqntd"));
            extintorBean.setExtdescricao(rs.getString("extdescricao"));
        }
    } catch (SQLException ex) {
        System.out.println("Erro ao consultar os dados"+ex.getMessage());
        Logger.getLogger(ExtintorDao.class.getName()).log(Level.SEVERE, null, ex);
    }
    return extintorBean;
}

SERVLET

protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       Extintor extintorBean = new Extintor();
        ExtintorDao extintorDao = new ExtintorDao();
               int codigo = Integer.parseInt(request.getParameter("txtcodigo"));
        String identificador = request.getParameter("txtidentificador");
        String valorrecarga = request.getParameter("txtvalrecarga");
        String valoraprox = request.getParameter("txtvalaprox");
        String peso = request.getParameter("txtpeso");
        String unidademed = request.getParameter("rbunidmed");
        String rbtipo = request.getParameter("rbtipo");
        String datavalid = request.getParameter("txtdataval");
        String quantidade = request.getParameter("txtqntd");
        String descricao = request.getParameter("txtareadescricao");
        
        extintorBean.setExtcod(codigo);
        extintorBean.setExtidentificador(identificador);
        extintorBean.setExtvalrecarga(valorrecarga);
        extintorBean.setExtvalaprox(valoraprox);
        extintorBean.setExtpeso(peso);
        extintorBean.setExtunmed(unidademed);
        extintorBean.setExtipo(rbtipo);
        extintorBean.setExtdataval(datavalid);
        extintorBean.setExtqntd(quantidade);
        extintorBean.setExtdescricao(descricao);
        
        try {
            extintorDao.alterar(extintorBean);
            RequestDispatcher rd = request.getRequestDispatcher("alterarExtintor.jsp");
            rd.include(request, response);
        } catch (SQLException ex) {
            System.out.println("Valor Nulo");
            Logger.getLogger(ControlAlterarExtintor.class.getName()).log(Level.SEVERE, null, ex);
        }

Consegui galera.

Na página de alteração jsp, eu passo:

extintorBean = extintorDao.consultarPorId(Integer.parseInt(request.getParameter(“extcodigo”)));

onde “extcodigo”, é o meu campo identificador da tabela EXTINTOR do banco de dados. E eu estava

passando a variavel do parametro do método CONSULTARPORID(int codigo) no DAO.

Se for útil, pra alguem! abracos.