Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-02-2011, 23:16   #1
therealduke
Junior Member
 
Iscritto dal: Apr 2007
Messaggi: 2
[Java] problema servlet e jsp

salve a tutti, sto facendo un sito in cui gli utenti si distinguono tra docenti e studenti; i docenti possono assegnare dei voti agli studenti iscritti ai relativi esami. Il mio problema è questo: quando il docente vuole assegnare un voto seleziona la matricola, la materia, inserisce data e voto; la servlet che riceve i dati fa un controllo sulla data passata e quella presente nel db, se corrisponde fa la insert nel db nella tabella votazioni e fin qui tutto ok. Il problema è che nn so come fare in caso nn corrisponda la data perchè vorrei che la servlet inviasse alla jsp un messaggio di errore ma al momento ricarica solo la pagina senza avvertire che i dati nn sono stati inseriti. Come faccio se possibile a far visualizzare il messaggio?

ecco il metodo della servlet
Codice:
public void Votazione(HttpServletRequest request){                  
String studente_iscritto=request.getParameter("studente_iscritto");        
 String appelli_fissati=request.getParameter("appelli_fissati");         
String giorno=request.getParameter("giorno");       
String mese=request.getParameter("mese");         
String data_controllo=request.getParameter("data");         
String votazione=request.getParameter("votazione");         
int voto=Integer.parseInt(votazione);         
String concat=(giorno+"/"+mese);         
try{             
Connection c=DriverManager.getConnection(url, user, pwd);             
Statement st=c.createStatement();             
if(data_controllo.equals(concat)){                 
st.executeUpdate("INSERT INTO VOTAZIONI(MATR_STUDENTE, NOME_CORSO, VOTAZIONE, DATA) VALUES('"+studente_iscritto+"', '"+appelli_fissati+"', "+voto+", '"+giorno+"/"+mese+"')");             
}             
st.close();             
c.close();         
}catch (SQLException e){e.printStackTrace();}    }
il metodo è richiamato in questo modo:
Codice:
if(votazione!=null){                   
Votazione(request);                   
RequestDispatcher rd=getServletContext().getRequestDispatcher("/iscrizioni_doc.jsp");           rd.forward(request, response);               }
therealduke è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2011, 14:13   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Premetto che mi intendo di javaee quanto di coltivazione di palme ma, incuriosito, ho fatto una prova. Riepilogo per vedere se parliamo della stessa cosa:

ho una pagina jsp che contiene un form che invia dei dati ad una servlet. In verità non cambia nulla se chi manda è una servlet e chi riceve una jsp o se sono tutte e due pagine jsp o servlet ma non è un problema.

L'utente immette dei dati, preme invio e si aspetta che il risultato dell'invio (tutto ok, manca qualche pezzo, c'è stato un errore) appaia nella stessa pagina del form, in modo tale da poter procedere con gli inserimenti o eventualmente correggere i dati inseriti.

Non so se sia bene o male ma salta fuori che si possa fare così.

La pagina del form include un messaggio condizionato dall'esistenza di un attributo di sessione, chiamiamolo "error". Dopo aver disegnato il form, se c'è questo "error" e il suo valore non è vuoto allora la jsp lo stampa. Nell'esperimento che ho fatto ho usato un bean ma era per sfizio:

Codice:
...omissis
        </form>
        <%
            servlettest.StoreError error = (servlettest.StoreError) session.getAttribute("error");
            if(error != null) {
                if(error.hasErrorMessage()) {
                    out.println("errore " + error.getErrorMessage());
                } else {
                    out.println("Dati salvati.");
                }
                session.removeAttribute("error");
            }
        %>
    </body>
</html>
Lato servlet, fai quel che devi fare con il dato creato dal form e usi "error" per far sì che la pagina jsp di partenza capisca se qualcosa è andato storto e per mostrare il messaggio di errore sotto al form.

Sempre nella prova che ho fatto, la servlet lo fa dicendo:

Codice:
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        HttpSession session = request.getSession(true);
        TestEntry entry = new TestEntry().init(request.getParameterMap());
        StoreError error = new StoreError();
        String status = entry.getStatus();
        error.setErrorMessage(status);
        session.setAttribute("error", error);
        response.sendRedirect("/webtest");
    }
Ripeto, non so se sia tipico o addirittura consigliabile fare come dico - io non so alcunchè di programmazione web - ma sembra funzionare.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Dreamforce 2026: Salesforce punta sulla ...
SpaceX ha confermato che Flight 14 sar&a...
Googlebook pronto al debutto: Google apr...
Guida all'acquisto: quale lavapavimenti ...
Google Maps su Android Auto introduce fi...
AMD Ryzen 5 5500F: fino al 16% di presta...
L'ecosistema partner di Microsoft cresce...
Oracle registra un boom nella divisione ...
Amazon Prime Video sfida TikTok con le n...
L'uscita di Rayman Legends Retold &egrav...
Dazio UE sui pacchi extra UE, in Italia ...
La nuova lavatrice smart di Xiaomi ha tr...
Hai una PSP nel cassetto? Questo nuovo p...
Oracle presenta Java 27 con diverse novi...
Il microscopio dell'EPFL vede più...
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: 06:18.


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