I've create a new seam application that insert in a MysqlDb an Object named 
"utente" and another named "profilo". I've create a Steteful java class that 
insert this objects and it's work fine. 
Subsequently i've create a page for implement the Login functionality with 
another Stateful java class and only in this case the application return an 
error:
Caused by: org.jboss.seam.InstantiationException: Could not instantiate Seam 
component: managerLogin
  |     at org.jboss.seam.Component.newInstance(Component.java:735)
  |     at org.jboss.seam.Component.newInstance(Component.java:1308)
  |     at org.jboss.seam.Component.getInstance(Component.java:1263)
  |     at org.jboss.seam.Component.getInstance(Component.java:1246)
  |     at 
org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:44)
  |     at 
org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:569)
  |     at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
  |     at 
org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:450)
  |     at 
org.apache.myfaces.el.MethodBindingImpl.resolveToBaseAndProperty(MethodBindingImpl.java:180)
  |     at 
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:114)
  |     ... 25 more
  | Caused by: javax.naming.NameNotFoundException: ManagerLogin not bound
  |     at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
  |     at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
  |     at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
  |     at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
  |     at org.jnp.server.NamingServer.lookup(NamingServer.java:270)
  |     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
  |     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
  |     at javax.naming.InitialContext.lookup(InitialContext.java:351)
  |     at org.jboss.seam.Component.instantiate(Component.java:774)
  |     at org.jboss.seam.Component.newInstance(Component.java:731)
  | 

My Stateful class is:

  | @Stateful
  | @Name("managerLogin")
  | @Scope(ScopeType.SESSION)
  | public class ManagerLogin implements Serializable {
  |     
  |     @In(create=true)
  |     private EntityManager em;
  |     
  |     @In(value = "login")
  |     private EntityLogin login = new EntityLogin();
  |     
  |     @In(value = "utente")
  |     @Out
  |     private EntityUtente utente;
  | 
  |     @Logger
  |     private Log log;
  | 
  |     public String login() {
  |             List results = em.createQuery(
  |                             "from utente where username=:username and 
password=:password")
  |                             .setParameter("username", login.getUsername())
  |                             .setParameter("password", login.getPassword())
  |                             .getResultList();
  |             if (results.size() == 0) {
  |                     
FacesMessages.instance().addFromResourceBundle("LoginNonValido");
  |                     return null;
  |             } else {
  |                     Contexts.getSessionContext().set("loggedIn", true);
  |                     utente = (EntityUtente) results.get(0);
  |                     
  |                     return  "home" ;
  |             }
  |     }
  | 
  |     public String logout() {
  |             Contexts.getSessionContext().remove("loggedIn");
  |             Seam.invalidateSession();
  |             return "home";
  |     }
  | 
  |     @Remove
  |     @Destroy
  |     public void destroy() {
  |     }
  | }
  | 

My jsp page is:

  | <%@ taglib uri="http://java.sun.com/jsf/html"; prefix="h"%>
  | <%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f"%>
  | <html>
  | <head>
  | <title><h:outputText value="#{messages.Login}" /></title>
  | 
  | </head>
  | <body>
  | <f:view>
  |     <h:form>
  | 
  |             <h1><h:outputText value="#{messages.Login}" /></h1>
  | 
  | 
  |             <h:outputText value="#{messages.LoginDetails}" />
  | 
  |             <table>
  |                     <tr>
  |                             <td><h:inputText value="#{login.username}" 
id="username" /></td>
  |                     </tr>
  |                     <tr>
  |                             <td><h:inputText value="#{login.password}" 
id="password" /></td>
  |                     </tr>
  | 
  |                     <h:commandButton type="submit" value="#{messages.Login}"
  |                             action="#{managerLogin.login}" />
  |                     <h:commandButton type="submit" 
value="#{messages.Register}"
  |                             action="insertUtente" />
  |     </h:form>
  | 
  | </f:view>
  | </body>
  | 
  | </html>
  | 
And the login bean is an object but not persistent that contains the user data 
entry for login:

  | @Name("login")
  | public class EntityLogin implements Serializable {
  | 
  |     private static final long serialVersionUID = 188141350071143953L;
  | 
  |     public EntityLogin(String password, String username) {
  |             this.username = username;
  |             this.password = password;
  |     }
  | 
  |     public EntityLogin() {
  |     }
  | 
  |     private String username;
  | 
  |     private String password;
  | 
  |     @NotNull
  |     @Length(max = 10)
  |     public String getUsername() {
  |             return this.username;
  |     }
  | 
  |     public void setUsername(String username) {
  |             this.username = username;
  |     }
  | 
  |     @Length(max = 15)
  |     @NotNull
  |     public String getPassword() {
  |             return this.password;
  |     }
  | 
  |     public void setPassword(String password) {
  |             this.password = password;
  |     }
  | 
  | }
  | 
The login bean is the new entry in this code but precedently i've create an 
instance of the user in the ManagerLogin class but i was a different 
error,anonymous wrote : componet not find ...

An example of the Stateful that work fine:

  | @Entity
  | @Name("utente")
  | @Scope(SESSION)
  | @Table(name="utente")
  | public class EntityUtente implements Serializable {
  | 
  |     
  |     private static final long serialVersionUID = 188141350071143952L;
  |     
  |     public EntityUtente(Integer id, String nome, String cognome,String 
email,String password,String username)
  |     {
  |     this.id = id;
  |     this.nome = nome;
  |     this.cognome = cognome;
  |     this.email = email;
  |     this.username = username;
  |     this.password = password;
  |     }
  |     
  |     public EntityUtente(){}
  |     
  |     private Integer id;
  |     private String username;
  |     private String nome;
  |     private String cognome;
  |     private String password;
  |     private String email;
  |     
  |     public void setId(Integer id) {
  |             this.id = id;
  |     }
  |     
  |     @Id @GeneratedValue
  |     public Integer getId() {
  |             return id;
  |     }
  |     
  |     @NotNull
  |     @Length(max=10)
  |     public String getUsername() {
  |         return this.username;
  |     }
  |     
  |     public void setUsername(String username) {
  |         this.username = username;
  |     }
  |     
  |     public void setNome(String nome) {
  |             this.nome = nome;
  |     }
  |     
  |     @Length(max=100) @NotNull
  |     public String getNome() {
  |             return nome;
  |     }
  | 
  |     public void setCognome(String cognome) {
  |             this.cognome = cognome;
  |     }
  |     @Length(max=100) @NotNull
  |     public String getCognome() {
  |             return cognome;
  |     }
  |     
  |     
  |     @Length(max=15) @NotNull
  |     public String getPassword() {
  |         return this.password;
  |     }
  |     
  |     public void setPassword(String password) {
  |         this.password = password;
  |     }
  | 
  |     public void setEmail(String email) {
  |             this.email = email;
  |     }
  |     @Email
  |     public String getEmail() {
  |             return email;
  |     }
  | 
  | }
  | 
  | 

For me it is a incomprensibile error, because others two similar cases work 
(ManagerUtente,ManagerProfilo)and the login action not.

Thanks for help....

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3979977#3979977

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3979977
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to