Visualizzazione dei risultati da 1 a 1 su 1

Discussione: JSP e servlet

  1. #1

    JSP e servlet

    Salve a tutti, ho un piccolo dilemma. Devo creare una servlet "Profilo" che:
    nel caso l'utente non sia loggato debba mostrare un messaggio di errore, in caso contrario deve mostrare un form per la modifica dei dati dell'utente. Ho gi� fatto la servlet per il login, tuttavia non riesco nella creazione della servlet profilo, nel caso pi� specifico la parte del messaggio di accesso negato. Di seguito il codice gi� fatto:

    codice:
    // Servlet login
    @WebServlet (name="Login", urlPatterns = {"/login.html"})
    public class Login extends HttpServlet {
    
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            
            if (request.getParameter("Submit")!= null){
                
                String username = request.getParameter("username");
                String password = request.getParameter("psw");
                
                ArrayList<Iscritto> listaIscritti = IscrittoFactory.getInstance().getIscrittoList();            
                
                for (Iscritto i : listaIscritti){
                    if(i.getUsername().equals(username) && i.getPsw().equals(password)){
                        HttpSession session = request.getSession(true);
                        session.setAttribute("iscritto", i);
                        
                        if (i instanceof Iscritto){
                            
                        } if (i.getNome().equals("") || i.getCognome().equals("") || i.getFrase().equals("")       ||      i.getNascita().equals("")){
                            request.setAttribute("iscritto", i);
                            request.getRequestDispatcher("profilo.jsp").forward(request, response); 
                           } else{
                                request.setAttribute("iscritto", i);
                                request.getRequestDispatcher("bacheca.jsp").forward(request, response);
                             }
                    }                
                }
                for (Iscritto i2 : listaIscritti){
                    if (!i2.getUsername().equals(username) || !i2.getPsw().equals(password)) {
                        request.setAttribute("errore", "credenziali di accesso errate");
                        request.getRequestDispatcher("login.jsp").forward(request, response);
                    }
                }
            }
            request.getRequestDispatcher("login.jsp").forward(request, response);
    
    
    //pagina login.jsp
    <!DOCTYPE html>
    <html>
        <head>
         ...
        </head>
        <body>
            <div class="contenitore">            
                <nav class="navbar">
                    <ul class="nav_bar">
                        <li id="head"><a href="descrizione.jsp">Sito</a></li>
                        <li><a href="descrizione.jsp">Descrizione</a></li>
                        <li><a href="profilo.jsp">Profilo</a></li>
                        <li><a href="bacheca.jsp">Bacheca</a></li>
                    </ul>
                </nav>
                <br>
                <div class="log_in">
                    <img id="utente" alt="profile" src="imm.jpg">
                    <h2 id="titolo_form">Login a Sito</h2>
                </div>
                <div class="form_box_login">
                    <form action="Login" method="post">                    
                        <br>
                        <label for="username">Username</label>
                        <input type="text" name="username" id="username" placeholder="Inserisci Username" required/>
                            <br>
                        <label for="psw">Password</label>
                            <input type="text" name="psw" id="psw" placeholder="Inserisci Password" required/>
                            <br>
                            <button class="conferma" name="Submit" type="submit">Login</button>
                            <button class="cancella" type="reset">Cancella Campi</button>
                        <label for="errore">
                            <c:if test="${!empty errore}">
                                <c:out value="${errore}"/>
                            </c:if>
                        </label>
                    </form>
                </div>
            </div>
            <jsp:include page="footer.jsp" />
        </body>
    </html>
    
    //profilo.jsp
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
          ...
        </head>
        <body>
            <div class="contenitore">            
                <nav class="navbar">
                    <ul class="nav_bar">
                        <li id="head"><a href="#sito">Sito</a></li>
                        <li><a href="descrizione.jsp">Descrizione</a></li>
                        <li><a href="login.jsp">Login</a></li>
                    </ul>
                    <ul id="nav_user">
                        <li><h3>${iscritto.username}</h3></li>
                        <li><a href="#logout">Logout</a></li>
                    </ul>
                </nav>            
                <div id="profile">
                    <jsp:include page="sidebar.jsp" />
                    <br>
                    <div class="box_profilo">
                        <div class="sign_in">
                            <img id="utente2" alt="immagine del profilo" src="Immagini/utenti.png">
                        </div>
                        <c:if test="${!empty accesso}">
                                <c:out value="${accesso}"/>
                        </c:if>
                        <div class="form_box">
                            <form class="form_signin" action="Profilo" method="post">
    
                                <label for="nome">Nome</label>                                
                                    <input type="text" id="nome" name="nome" value="${iscritto.nome}" required>
                                    <br>
                                <label for="cognome">Cognome</label>
                                    <input type="text" id="cognome" name="cognome" value="${iscritto.cognome}" required>
                                    <br>
                                <label for="url_img">Indirizzo immagine profilo</label>
                                <input type="url" id="url_img" name="url_img" value="${iscritto.urlImmProfilo}" placeholder="Inserisci url" required>
                                    <br>
                                <label for="frase">Frase di Presentazione</label>
                                    <textarea rows="7" cols="20" id="frase" name="frase" value="${iscritto.frase}" placeholder="Inserisci frase" required></textarea>
                                    <br>
                                <label for="data">Data di Nascita</label>
                                <!--lo strumento di validazione mi da un warning, in quanto il tipo di input "date" non � supportato da tutti i browser -->
                                    <input type="date" id="data" name="01/01/1990" value="${iscritto.nascita}" required> 
                                    <br>
                                <label for="username">Username</label>                                
                                    <input type="text" id="username" name="username" value="${iscritto.username}" required>
                                    <br>
                                <label for="psw">Password</label>
                                    <input type="password" id="psw" name="psw" value="oscurato" placeholder="Inserisci password" required>
                                    <br>
                                <label for="c_psw">Conferma Password</label>
                                <input type="password" id="c_psw" name="c_psw" value="oscurato" placeholder="Conferma password" required>
                                    <br>
                                <button id="conferma" type="submit" name="conferma">Aggiorna</button>
                                <button id="cancella" type="reset" name="cancella">Cancella Campi</button> 
                            </form>
                        </div>
                    </div>
                </div>           
            </div>
            <jsp:include page="footer.jsp" />
        </body>
    </html>
    
    //Servlet Profilo
    @WebServlet (name="Profilo", urlPatterns = {"/profilo.html"})
    public class Profilo extends HttpServlet {
    
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            
            HttpSession session = request.getSession(false);
            Iscritto utente = (Iscritto)session.getAttribute("iscritto");
            request.setAttribute("avviso", "accesso negato");
            
            if (utente != null){    
                request.getRequestDispatcher("profilo.jsp").forward(request, response);
            } 
            if (utente == null){ 
                session.setAttribute("iscritto", false);             
                request.getRequestDispatcher("login.jsp").forward(request, response);
            }
            
            Iscritto iscritto = new Iscritto();       
            
            if (request.getParameter("conferma") != null){
                
                String username = request.getParameter("username");
                String password = request.getParameter("psw");
                String c_password = request.getParameter("c_psw");
                String nome = request.getParameter("nome");
                String cognome = request.getParameter("cognome");
                String urlImmProfilo = request.getParameter("url_img");
                String nascita = request.getParameter("data");
                String frase = request.getParameter("frase");
                String user = request.getParameter(nome);
                int userId;
                if (user != null){
                    userId = Integer.parseInt(user);
                }
                
                iscritto.setNome(nome);
                iscritto.setCognome(cognome);
                iscritto.setUrlImmProfilo(urlImmProfilo);
                iscritto.setFrase(frase);
                iscritto.setNascita(nascita);
                iscritto.setUsername(username);
                if (password.equals(c_password)){
                    iscritto.setPsw(password);
                    iscritto.setC_Psw(c_password);
                } else {                
                    request.getRequestDispatcher("profilo.jsp").forward(request, response);
                }          
                request.getRequestDispatcher("bacheca.jsp").forward(request, response);
            }
        }

    So che il testo � molto lungo ma volevo essere il pi� preciso possibile. Vi ringrazio in anticipo per qualsiasi consiglio possiate darmi.
    Ultima modifica di LeleFT; 26-04-2017 a 10:17 Motivo: Aggiunti i tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.