Erro ao Fazer Usuário Logar

0 respostas
J

Se alguém puder me dar uma ajuda aí pq meu servlet não consegue redirecionar a página, ou pq meu getParameter não consegue pegar a propriedade do meu form, vai ser de grande valia. obriagdo

Código do meu servlet :
/*
 * ServletLogar.java
 *
 * Created on 10 de Maio de 2007, 23:20
 */

package com.myapp.struts;

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

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

import org.apache.struts.action.*;
import java.sql.*;
import java.util.ArrayList;
import javax.sql.*;
import java.sql.DriverManager;

/**
 *
 * @author moises
 * @version
 */
public class ServletLogar extends HttpServlet {
    
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    
    public DataSource dataSource;
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
         
        String nomeLogin = request.getParameter("nameLogin");
        String senhaLogin = request.getParameter("senhaLogin");
        
        Connection conn = null;
        Statement  stmt = null;
        PreparedStatement prpStmt = null;
        ResultSet rs = null;
        StringBuffer  resultString ;
        
        try{
            Class.forName("org.postgresql.Driver");
            conn = DriverManager.getConnection("jdbc:postgresql://localhost/geca", "postgres", "postgres");
	    
            String sqlQuery = "SELECT * FROM funcionario WHERE nome_login = ? ";
            prpStmt = conn.prepareStatement(sqlQuery);
            prpStmt.setString(1, nomeLogin);
            rs = prpStmt.executeQuery();
            
            NovoStrutsActionForm usuario = null;

            if(rs.first()){
                usuario = new NovoStrutsActionForm();
                usuario.setCod_funcionario(rs.getInt("cod_funcionario"));
                usuario.setNameLogin(rs.getString("nome_login"));
                usuario.setSenha(rs.getString("senha"));
                usuario.setTipoFuncionario(rs.getInt("cod_tipo"));
            }
                 
            if(usuario == null || !usuario.getSenhaLogin().equals(senhaLogin)){
                request.getSession().setAttribute("mensagem", "Login ou Senha incorretos !");
                response.sendRedirect("/index.jsp");
            } else {
                request.getSession().setAttribute("usuario", usuario);
                response.sendRedirect("/professor/professor.jsp");
            }
	
        } catch ( SQLException e ) {
            System.err.println("SQL Exception occured while accessing the table" );
            e.printStackTrace();
            
        } catch (ClassNotFoundException e) { 
              System.err.println("Cannot find the database driver"); 
        } finally {
            try {
                rs.close();
                prpStmt.close();
                stmt.close();
                conn.close();
                } catch ( Exception e ) {
                e.printStackTrace();
                }
            }//finally
        
    } //fim doGet
    
}

eu pus uma página de teste em vários lugares desse código... e nela tem um request.getParameter("nameLogin") e aparece sempre null

Aqui está o web.xml :
<servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        
        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        
        <load-on-startup>2</load-on-startup>
        
    </servlet>
    
    [b]<servlet>
        <description> Ve no banco p/ logar </description>
        <display-name> Logar </display-name>
        <servlet-name>Logar</servlet-name>
        <servlet-class>com.myapp.struts.ServletLogar</servlet-class>
    </servlet>[/b]
    
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    [b]<servlet-mapping> 
        <servlet-name>Logar</servlet-name>
        <url-pattern>/professor/professor.jsp</url-pattern>
        
    </servlet-mapping>[/b]
    
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    
    <welcome-file-list>
	<welcome-file>
            index.jsp
        </welcome-file>
    </welcome-file-list>
    
</web-app>
Página de Login :
<html:form action="login" >
            
            <table border="0" align="center">
<html:errors /> 
                <thead>
                    <tr>
                            <td> <bean:message key="login.name" /> </td> <td> <html:text property="nameLogin" /> </td> 
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td> <bean:message key="login.senha" /> </td> <td> <html:password property="senhaLogin" /> </td>
                
                    </tr>
                </tbody>
            </table>
            
                      <html:submit value="Entrar" />

e por último meu Action Bean :

/*
 * NovoStrutsActionForm.java
 *
 * Created on 20 de Março de 2007, 22:20
 */

package com.myapp.struts;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

/**
 *
 * @author moises
 * @version
 */

public class NovoStrutsActionForm extends org.apache.struts.action.ActionForm {
    
    private int cod_funcionario;
    private String nameLogin;
    private String senhaLogin;
    private int tipoFuncionario;
    
    public int getCod_funcionario() {
        return cod_funcionario;
    }

    public void setCod_funcionario(int cod_funcionario) {
        this.cod_funcionario = cod_funcionario;
    }
    
    /**
     * @return
     */
    public String getNameLogin() {
        return nameLogin;
    }
    
    /**
     * @param string
     */
    public void setNameLogin(String nameLogin) {
        this.nameLogin = nameLogin;
    }
    
    public String getSenhaLogin() {
        return senhaLogin;
    }
    
    public void setSenha(String senhaLogin) {
        this.senhaLogin = senhaLogin;
    }
        
    public int getTipoFuncionario() {
        return tipoFuncionario;
    }

    public void setTipoFuncionario(int tipoFuncionario) {
        this.tipoFuncionario = tipoFuncionario;
    }
    
    
    /**
     *
     */
    public NovoStrutsActionForm() {
        super();
        // TODO Auto-generated constructor stub
    }
    
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        
        ActionErrors errorName = new ActionErrors();
        if (getNameLogin() == null || getNameLogin().length() < 1) {
            errorName.add("name", new ActionMessage("error.name.required"));
        }
        return errorName;
    }

}
Criado 12 de maio de 2007
Respostas 0
Participantes 1