Java.lang.IllegalStateException

10 respostas
paulofernandesjr

esse erro ocorre quando eu tento faze ro deploy no servidor jboss 5

alguem poderia me ajudar?

obrigado

10 Respostas

thiago.correa

Você configurou o Servlet do JSF no seu web.xml?!

paulofernandesjr

Sim

veja o web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>cartao</display-name>
 <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>server</param-value>
 </context-param>
 <filter>
  <filter-name>CartaoFilter</filter-name>
  <filter-class>br.com.ternet.cartao.filter.CartaoFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>CartaoFilter</filter-name>
  <url-pattern>/faces/secure/*</url-pattern>
 </filter-mapping>

 
 <!-- Faces Servlet -->
 <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 
 <!-- Faces Servlet Mapping -->
 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>
 <listener>
	<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
 </listener>
</web-app>
thiago.correa

Cara, pelo que eu vi e pouco sei o jboss deve usar o tomcat 5.0 que por sua vez não suporta o JSF 1.2, tenta pegar o 1.1!!

paulofernandesjr

Eu não sei o que aconteceu… mas eu refiz a aplicação do zero, digo, fui fazendo os pedaços e fazendo o deploy e aparentemente resolveu!!! sem explicação

V

Olá amigos,

No meu codigo para login e senha, criei um pacote java chamado caminho e dentro

criei duas servlets, uma Cadastro e outra Controle, só que quando vou fazer o cadastro

clicando em Enviar está abrindo uma pagina nova no navegador dizendo: Access

denied for user 'root'@'localhost' (using password: YES).
Alguem sabe o que está contecendo??

Abç

index.jsp





<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Sistema de Login</title>
    </head>
    <body>
        <h2>Criando um sistema de login</h2>
    </body>


<a >Login</a>



</html>



Controle.jsp


<form method=post name="controle" action="/Controle">

Login:<br>
    <INPUT TYPE=text name=login VALUE="" size="15">
    <br> Senha:<br>
        <input type=password name=senha value="" size="15">
            <br><br>
                <input type="submit" name="controle" value="Logar">
            </form>
            <br> 
            <a >Cadastre-se</a>
            


Cadastro.jsp



<form method=post name="cadastro" action="/Cadastro">
    Login:<br>
    <INPUT TYPE=text name=login value="" size="15">
    <br> Senha:<br>
        <INPUT TYPE=password name=senha value="" size="15">
    <br> Redigite Senha<br>
        <input type=password name=senha2 value="" size="15">
            <br><br>
                <input type="submit" name="cadastro" value="Enviar">
            </form>
            
            

Cadastro.java(servlet dentro do pacote java caminho)



package caminho;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.security.*;
import java.sql.*;
import sun.misc.*;


public class Cadastro extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse 

response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();
String login = request.getParameter("login");
String senha = request.getParameter("senha");
String senha2 = request.getParameter("senha2");
if(senha.equals(senha2)){
    // criptografa
    byte chave1[]=login.getBytes();
    login = new BASE64Encoder().encode(chave1);
    byte chave2[] = senha.getBytes();
    senha=new BASE64Encoder().encode(chave2);
try{
Class.forName("com.mysql.jdbc.Driver");
Connection 

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/login","root","rodrigo");
PreparedStatement stmt=con.prepareStatement("insert into usuario values(?,?)");
            stmt.setString(1,login);
            stmt.setString(2,senha);
            stmt.execute();
            stmt.close();
            out.print("<br>senha:"+senha);
            out.print("<br>Login:"+login);
}catch (Exception e){
out.print(e.getMessage());
}


}
      }
}




Controle.java(servlet dentro do pacote java caminho)



package caminho;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sun.misc.*;
import java.sql.*;

public class Controle extends HttpServlet {
     protected void processRequest(HttpServletRequest request, HttpServletResponse 

response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
       
        
PrintWriter out = response.getWriter();
String login = request.getParameter("login");
String senha = request.getParameter("senha");
byte chave1[] = login.getBytes();
byte chave2[] = senha.getBytes();
    login = new BASE64Encoder().encode(chave1);
    senha = new BASE64Encoder().encode(chave2);
    
    try{
Class.forName("com.mysql.jdbc.Driver");
        Connection 

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/login","root","rodrigo");
PreparedStatement stmt=con.prepareStatement("select * from usuario where login=? 

and senha=?");
            stmt.setString(1,login);
            stmt.setString(2,senha);
            ResultSet rs=stmt.executeQuery();
            while(rs.next()){
           out.print("Acesso ok,login e senha confere");
            break;
    }
    
     }catch(Exception e){
             out.print(e.getMessage());
     }
     }
}
E meu banco de dados ficou assim:

create database login;
use login;
create table usuario(login varchar(15), senha varchar(15));
paulofernandesjr

o seu problema esta na senha do usuario do banco de dados,

você tem certeza de que o usuario root precisa de senha?

tem certeza de que a senha que informou esta correta?

abraço

V
paulofernandesjr

cara tente remover a senha…

cria um novo usuario e uma nova senha e testa

abraço

V
Prezado,

Vc sabe como faço para verificar o usuario e senha??? E como faço para remove-los?

Obrigado, abç.

paulofernandesjr

instale essa ferramenta que vai entender como fazer

http://dev.mysql.com/downloads/gui-tools/5.0.html

abraço

Criado 23 de março de 2009
Ultima resposta 27 de abr. de 2009
Respostas 10
Participantes 3