n° 211
Febbraio/Marzo 2017
Febbraio 20, 2017, 10:42:52 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: problema con servlet/eclipse/query/tomcat/postgresql  (Letto 507 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
blade44i
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 2


Mostra profilo E-mail
« inserita:: Novembre 30, 2016, 10:49:59 »

Salve avrei bisogno di una mano per un problema che mi sta tormentando da una settimana in pratica uso tomcat 8.039 con postgresql 9.4 e hibernate 5, ho due progetti uno standard java e uno dinamic, li collego tra di loro mediante il deployment automatico in eclipse mars carico tutti i jar relativi creo le varie cartelle html,js,css, e login.html nella cartella web-content il problema sommariamente sta in questo:
create le mie due servlet di prova TestServlet e LoginServlet nella cartella del progetto standard deployato e compilato nel progetto dinamico carico, configurato nel web.xml e tutto sul server inserisco url path http://localhost:8080/Corso2/html/servlet.html e tutto funziona regolare solo che stiamo parlando di una servlet richiamata TestServlet che scrive codice nella servlet con metodo getwriter, non appena lancio il login.html si apre il form inserisco username e password mi esce questa fastidiosa pagina 404 pagina non trovata e' come se la servlet di login che dovrebbe richiamare altre due pagine in html loginOk.html o loginError.html in base alla query che deve trovare nella classe utente con classe Dao non funge in pratica sulla consolle di eclipse non ce nessuna attivita' di query. ora vi posto tutto.

librerie

antlr-2.7.7.jar
dom4j-1.6.1.jar
geronimo-jta_1.1_spec-1.1.1-sources.jar
hibernate-commons-annotations-5.0.0.Final.ja
hibernate-core-5.0.2.Final.jar
hibernate-jpa-2.1-api-1.0.0.final.jar
jandex-2.0.0.Final.jar
javassist-3.20.0-GA.jar
jboss-logging-3.3.0.Final.jar
jdbc-stdext-2.0.jar
jta.jar
ojdbc14.jar
postgresql-9.4.1212.jar
xml-apis-2.0.2.jar
antlr-2.7.7.jar
dom4j-1.6.1.jar
geronimo-jta_1.1_spec-1.1.1-sources.jar
hibernate-commons-annotations-5.0.0.Final.ja
antlr-2.7.7.jar
dom4j-1.6.1.jar
geronimo-jta_1.1_spec-1.1.1-sources.jar
hibernate-commons-annotations-5.0.0.Final.ja
aopalliance-1.0.jar
aspectj-weaver.jar
aspectjrt.jar
bsf-2.3.0.jar
commons-beanutils-1.9.2.jar
commons-chain-1.2.jar
commons-dbcp-1.4.jar
commons-digester-2.1.jar
commons-fileupload-1.3.2.jar
commons-io-1.1.jar
commons-logging-1.1.1.jar
commons-pool2-2.0.jar
commons-validator-1.4.0.jar
ehcache.jar
jakarta-oro.jar
oro-2.0.8.jar
servlet
standard-1.0.6.jar
struts-1.3.10-all.jar
struts-core-1.3.10.jar
struts-el-1.3.10.jar
struts-extras-1.3.10.jar
struts-faces-1.3.10.jar
struts-mailreader-dao-1.3.10.jar
struts-scripting-1.3.10.jar
struts-taglib-1.3.10.jar
struts-tiles-1.3.10.jar

file xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 <display-name>Corso2</display-name>
 <welcome-file-list>
 <welcome-file>index.html</welcome-file>
 <welcome-file>index.htm</welcome-file>
 <welcome-file>index.jsp</welcome-file>
 <welcome-file>default.html</welcome-file>
 <welcome-file>default.htm</welcome-file>
 <welcome-file>html/ciao.html</welcome-file>
 </welcome-file-list>
 <servlet>
 <servlet-name>Test</servlet-name>
 <servlet-class>com.azienda.esempiCorso.sessione15.TestServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Test</servlet-name>
 <url-pattern>/test</url-pattern>
 </servlet-mapping>

 <servlet>
 <servlet-name>Login</servlet-name>
 <servlet-class>com.azienda.esempiCorso.sessione15.LoginServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Login</servlet-name>
 <url-pattern>/login</url-pattern>
 </servlet-mapping>
</web-app>


login.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Login</title>
</head>
<body>
<div align="center" style="padding-top: 150px;">
<form action="/Corso2/login" method="post">
<table border="0" width="300px" height="100px" cellspacing="5" style="background-color:silver">
<tr>
 <td align ="right">
 Username
 </td>
 <td align="left">
 <input type="text" name="username">
 </td>
</tr>

<tr>
 <td align="right">
 Password
 </td>
 <td align="left">
 <input type="text" name="password">
 </td>
</tr>

<tr>
 <td align="center" colspan="2">
 <input type="submit" value="Login">
 </td>
</tr>
</table>
</form>
</div>
</body>
</html>


servlet testServlet

package com.azienda.esempiCorso.sessione15;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.azienda.progettoCorso.dao.DaoHibernate;
import com.azienda.progettoCorso.dao.DaoInterface;
import com.azienda.progettoCorso.model.Utente;

public class LoginServlet extends HttpServlet
{

   private static final long serialVersionUID = 1L;

   @Override
   protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
   {
   doPost(request,response);
   }

   @Override
   protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
   {
   String userName = request.getParameter("userName");
   String password = request.getParameter("password");
   if ( userName != null && !userName.isEmpty() && password != null && !password.isEmpty() )
   {
   Utente utente = new Utente();
   utente.setUserName(userName);
   utente.setPassword(password);
   DaoInterface dao = new DaoHibernate();
   try
   {
   Utente utenteFromDb = dao.retrieveById(utente.getId(),true);
   if ( utenteFromDb != null && utenteFromDb.getPassword().equals(password) )
   {
   request.getSession().setAttribute("userLogged","YES");
   String requestUrl = (String) request.getSession().getAttribute("requestUrl");
   if ( requestUrl != null && !requestUrl.isEmpty() )
   {
   request.getSession().removeAttribute("requestUrl");
   request.getRequestDispatcher(requestUrl).forward(request,response);
   }
   else
   {
   request.getRequestDispatcher("/html/loginOk.html").forward(request,response);
   }
   }
   else
   {
   request.getRequestDispatcher("/html/loginError.html").forward(request,response);
   }
   }
   catch ( Exception ex )
   {
   ex.printStackTrace();
   request.getRequestDispatcher("/html/loginError.html").forward(request,response);
   }
   finally
   {
   ((DaoHibernate) dao).getSession().getSessionFactory().close();
   }
   }
   else
   {
   request.getRequestDispatcher("/html/login.html").forward(request,response);
   }
   }
}


CLASSE UTENTE E UTENTE ID CON I RELATIVI HASCHCODE INUTILE CHE VE LA POSTO

package com.azienda.progettoCorso.model;

import java.io.Serializable;

public class Utente implements Serializable{

   private static final long serialVersionUID = 1L;

   private UtenteId id = null;
   private String password = null;
   private String profilo = null;

   public UtenteId getId() {
   return id;
   }
   public void setId(UtenteId id) {
   this.id = id;
   }
   public String getPassword() {
   return password;
   }
   public void setPassword(String password) {
   this.password = password;
   }

   public String getUserName()
   {
   if ( id != null )
   {
   return id.getUserName();
   }
   return null;
   }

   public void setUserName(String userName)
   {
   if ( id == null )
   {
   id = new UtenteId();
   }
   id.setUserName(userName);
   }

   public String getProfilo() {
   return profilo;
   }
   public void setProfilo(String profilo) {
   this.profilo = profilo;
   }
   @Override
   public int hashCode() {
   final int prime = 31;
   int result = 1;
   result = prime * result + ((id == null) ? 0 : id.hashCode());
   return result;
   }
   @Override
   public boolean equals(Object obj) {
   if (this == obj)
   return true;
   if (obj == null)
   return false;
   if (getClass() != obj.getClass())
   return false;
   Utente other = (Utente) obj;
   if (id == null) {
   if (other.id != null)
   return false;
   } else if (!id.equals(other.id))
   return false;
   return true;
   }

}


CLASSE DAO PER LA RICERCA IN DB DI DUE UTENTI INSERITI IN POSTGRSQL ADMIN E USER 1
@Override
   public List<Utente> retrieve(Utente utente,boolean openTransaction) {
   List<Utente> result = new ArrayList<Utente>();
   if ( openTransaction )
   {
   Transaction transaction = null;
   try
   {
   transaction = session.beginTransaction();
   result = retrieveInTransaction(utente);
   transaction.commit();
   }
   catch( Exception ex )
   {
   ex.printStackTrace();
   transaction.rollback();
   }
   }
   else
   {
   result = retrieveInTransaction(utente);
   }
   return result;
   }

   public List<Utente> retrieveInTransaction(Utente utente)
   {
   List<Utente> result = new ArrayList<Utente>();
   Criteria criteria = session.createCriteria(Utente.class);
   if ( utente.getUserName() != null )
   {
   criteria.add(Restrictions.ilike("id.userName",utente.getUserName(),MatchMode.ANYWHERE));
   }
   if ( utente.getProfilo() != null )
   {
   criteria.add(Restrictions.ilike("profilo",utente.getProfilo(),MatchMode.ANYWHERE));
   }
   criteria.addOrder(Order.asc("id.userName"));
   result = criteria.list();
   return result;
   }

   @Override
   public Utente retrieveById(UtenteId utenteId,boolean openTransaction) {
   Utente result = null;
   Transaction transaction = null;
   if ( openTransaction )
   {
   try
   {
   transaction = session.beginTransaction();
   result = retrieveByIdInTransaction(utenteId);
   transaction.commit();
   }
   catch( Exception ex)
   {
   ex.printStackTrace();
   transaction.rollback();
   }
   }
   else
   {
   result = retrieveByIdInTransaction(utenteId);
   }
   return result;
   }

   public Utente retrieveByIdInTransaction(UtenteId utenteId) {
   Utente result = null;
   if ( utenteId != null )
   {
   Criteria criteria = session.createCriteria(Utente.class);
   criteria.add(Restrictions.eq("id",utenteId));
   List<Utente> list = criteria.list();
   if ( ! (list != null && list.size() == 1 ) )
   {
   throw new RuntimeException("Non e' stato travato uno ed un solo utente con id " + utenteId.getUserName());
   }
   result = list.get(0);
   }
   return result;
   }
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines