Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-06-2006, 15:28   #1
boysna
Senior Member
 
Iscritto dal: Mar 2004
Città: castel san giorgio(salerno)
Messaggi: 1218
Problemi Tomcat e accesso a file xml

Ciao a tutti raga.

Ho un problema. Devo creare un sito e devo controllare se la password e la login inserite dall'utente sono corrette. Per questo c'è un file xml che raccoglie le login. Ecco l'xml e il dtd:

Codice:
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE root SYSTEM "account.dtd">

<root>
  <account>
  	<tipo>amministratore</tipo>
  	<login>leggero</login>
  	<password>05071983</password>	
  </account>
  
  <account>
  	<tipo>amministratore</tipo>
  	<login>FireFoxII(</login></login>
  	<password>ilfenomeno</password>
  </account>
  
  <account>
  	<tipo>utente</tipo>
  	<login>mariorossi</login>
  	<password>forzainter</password>
  </account>
  
  <account>
  	<tipo>utente</tipo>
  	<login>giovannibianchi</login>
  	<password>winter</password>
  </account>
  
  <account>
  	<tipo>utente</tipo>
  	<login>riccardoverdi</login>
  	<password>interforever</password>
  </account>
  
  <account>
  	<tipo>utente</tipo>
  	<login>marcogialli</login>
  	<password>intercapolista</password>
  </account>
  
  <account>
  	<tipo>utente</tipo>
  	<login>misterbrown</login>
  	<password>interprimasquadradimilano</password>
  </account>	

</root>
Codice:
<!ELEMENT root (account)>

<!ELEMENT account (tipo, login, password)>

<!ELEMENT tipo (amministratore|utente)>
<!ELEMENT login (#PCDATA)>
<!ELEMENT password (#PCDATA)>
Questa è la pagina dove vengono inseriti login e password:
Codice:
<html>
 <head><title>Negozio On-Line - Home Page</title>
 
 <body>
   
   Benvenuto in questo sito di Pulcinella!!!<br>          
   <form name="loginutente" ACTION="ServletLogin">
         entra come utente registrato:  <br>
         login <input type="text" name="login"></input>
         password <input type="text" name="password"></input>
         <input type="hidden" name="tipologin" value="loginutente"></input>
         <input type="submit" value="ok">          
   </form>             
      
   <form name="loginadmin" ACTION="servlet/ServletLogin">
         entra come amministratore del sito:<br>
         login <input type="text" name="login"></input>
         password <input type="text" name="password"></input>
         <input type="hidden" name="tipologin" value="loginamministratore"></input>
         <input type="submit" value="ok">         
   </form>
 
 
 </body>
</html>
La servlet controlla login e password:
Codice:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class ServletLogin extends HttpServlet {
	
	public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String tipologin = request.getParameter("tipologin");
		String login = request.getParameter("login");
		String password = request.getParameter("password");
		GestioneAccount verificaLogin = new GestioneAccount();
		
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<html><head></head><body>login="+login+"</body></html>");
		
		if(tipologin.equals("loginamministratore")){			
		  String esitoverifica = verificaLogin.verificaAccountUtente(login, password);
		  
		  if(esitoverifica.equals(null)){
		  	                         gotoPage("/areaAmministratore.jsp",request,response);
		                           }
		  else {
		  	    request.setAttribute("erroreLogin", response);
		  	    gotoPage("/index.jsp",request,response);
		  }
		}
    
		
	} 

	private void gotoPage( String address, 
			   			   HttpServletRequest request, 
			   			   HttpServletResponse response)
			throws ServletException, IOException {
		RequestDispatcher dispatcher = 
			getServletContext().getRequestDispatcher(address);
		dispatcher.forward(request,response);
	} 
}
La classe GestioneAccount che vedete nella servlet è questa, serve ad accedere al file Xml tramite DOM:
Codice:
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
import org.xml.sax.SAXException;
import javax.servlet.*;


public class GestioneAccount{

	public Document document;
	/*public String account = System.getProperty("user.dir") + "\\" + "account.xml";*/
	public String account = "E:\\Programmi\\Apache Software Foundation\\Tomcat 5.5\\webapps\\progetto\\WEB-INF\\classes\\account.xml";

	//Costruttore
	public GestioneAccount(){
		try{
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			factory.setValidating(true);
			DocumentBuilder builder = factory.newDocumentBuilder();

			//Creao un Node che si riferisce al file "account.xml"
			document = builder.parse(new File(account));
			builder.setErrorHandler(new MyErrorHandler());
			

		}
		catch(ParserConfigurationException e){}
		catch(SAXException r){r.printStackTrace();}
		catch(FileNotFoundException me){}
		catch(IOException t){}}


	//Metodi
	public String verificaAccountUtente(String loginInput, String passwordInput){

		Element root = document.getDocumentElement();
		String response="Login amministratore non valido";

	    NodeList login = root.getElementsByTagName("login");
	    NodeList password = root.getElementsByTagName("password");
	    NodeList tipi = root.getElementsByTagName("tipo");

	    for(int i=0; i<login.getLength() && response.equals("Login amministratore non valido"); i++) {
	    	  if(login.item(i).getTextContent().equals(loginInput)){
	    	 	     if(tipi.item(i).getTextContent().equals("amministratore")){
	    		           if (password.item(i).getTextContent().equals(passwordInput)) { 
	    		                          response=null;}
	    		           else { response="Password sbagliata";
	    		           }
	                 }
	                 else{response="Non sei un amministratore e non puoi entrare";	}
	           }
	    	
	    }
	    return response;
	    }
	    
	}
Purtroppo mi da questo errore Tomcat:

Codice:
exception 

java.lang.NullPointerException
	GestioneAccount.verificaAccountUtente(GestioneAccount.java:36)
	ServletLogin.doGet(ServletLogin.java:20)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	filters.ExampleFilter.doFilter(ExampleFilter.java:102)
Se mi aiutate mi fate un grande piacere. Ciao a tutti.
boysna è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2006, 23:19   #2
boysna
Senior Member
 
Iscritto dal: Mar 2004
Città: castel san giorgio(salerno)
Messaggi: 1218
up
boysna è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Xiaomi 17 Ultra scambia il Sole per la L...
È arrivata la migliore e-bike Eng...
Apple Mac mini M4, ecco perché conviene ...
Robot aspirapolvere in offerta su Amazon...
Il nuovo pick-up elettrico di Ford &egra...
Google Pixel 11 arriva su Amazon: preord...
Mega sconti su attrezzi a batteria e rob...
Google Search dà per morto Sam Al...
Il noleggio delle GPU NVIDIA si quota in...
Google: il miliardo di utenti di Gemini ...
Testo invisibile nei PDF, così i modelli...
Le riedizioni di Pokémon Rubino, Zaffiro...
Anche BYD lancia il suo gigante: Sealion...
Sky lancia la sua offerta per la stagion...
Rincari fino al 370% per DeepSeek con ta...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:22.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v