Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
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'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-11-2007, 13:00   #1
albertovw
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 11
[Java] Passaggio valori tra jsp e servlet

Ciao a tutti. Sto diventanto pazzo per un problema ridicolo...

JSP
Prendo da un <form method="POST... uno username ed una password.
A questo punto passo tramite la variabile di sessione "session" lo user e la pass facendo session.setAttribute("username",username); e il corrispettivo per la password.

SERVLET
Dalla servlet mi scrivo
HttpSession session = request.getSession(); //true opzionale
String username = (String) session.getAttribute("username);


ma la variabile username nella servler è sempre null!!!
sto impazzendo!!! eppure ho rovistato migliaia(esagero ma una 50ina sicuro) tra manuali e guide online e questa è la procedura corretta/consigliata!!!

che devo fare?? un guru di java sa dirmi qualcosa??


ecco il codice completo nel qual caso servisse, magari c'è un errore nascosto!!


JSP

Codice:
<html>
    <head>
        <title>Please Log In</title>
        <style type="text/css"></style>
        <script language="JavaScript" type="text/javascript"></script>
    </head>
    <body onload="login_focus()">
        <%
        boolean error = false;
        String prmError = request.getParameter("error");
        String username = request.getParameter("j_username");
        if (prmError != null) {
            error = true;
        }
        if (username == null) {
            username = new String();
        }
        %>
        <form method="POST" action="j_security_check">
            <table>
                <%
                if (error) {
                %>
                <tr>
                    <th colspan="2" class="errorMessage"> Invalid username or password </th>
                </tr>
                <tr>
                    <td colspan="2">&nbsp;</td>
                </tr>
                <% 
                }
                %>
                <tr>
                    <th class="label">User Name:</th>
                    <td><input type="text" name="j_username" id="j_username" value="<%=username%>"></td>
                    <%session.setAttribute("username",username);%>
                    
                </tr>
                <tr>
                    <th class="label">Password:</th>
                    <td><input type="password" name="j_password" id="j_password" value="<%=password%>"></td>
                    <%session.setAttribute("password",password);%>
                </tr>
                <tr>
                    <td colspan="2">&nbsp;</td>
                </tr>
                <tr>
                    <td class="alignRight"><input type="submit" value="Log In"></td>
                    <td class="alignLeft"><input type="reset"></td>
                </tr>
            </table>
        </form>
    </body>
</html>
SERVLET

Codice:
public class AdministratorMainServlet extends HttpServlet {
    
    private static final Log log = LogFactory.getLog(AdministratorMainServlet.class);
    
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException {
        if (log.isInfoEnabled()) {
            final StringBuilder sb = new StringBuilder();
            sb.append("request from:").append(request.getRemoteUser()).append('/').append(request.getRemoteAddr());
            
            if (log.isTraceEnabled()) {
                for (final Enumeration e = request.getAttributeNames(); e.hasMoreElements();) {
                    String name = e.nextElement().toString();
                    sb.append("\nattr:").append(name).append("=").append(request.getAttribute(name).toString());
                }
                for (final Enumeration e = request.getParameterNames(); e.hasMoreElements();) {
                    String name = e.nextElement().toString();
                    sb.append("\nparam:").append(name);
                    String[] values = request.getParameterValues(name);
                    for (int i = 0; i < values.length; ++i) {
                        sb.append(":").append(values[i]);
                    }
                }
                for (final Enumeration e = request.getHeaderNames(); e.hasMoreElements();) {
                    String name = e.nextElement().toString();
                    sb.append("\nheader:").append(name);
                    for (java.util.Enumeration headers = request.getHeaders(name); headers.hasMoreElements();) {
                        sb.append(":").append(headers.nextElement().toString());
                    }
                }
                log.trace(sb.toString());
            } else {
                log.info(sb.toString());
            }
        }
        
    HttpSession session = request.getSession();
        String username = (String) session.getAttribute("username");

        response.setContentType("text/html;charset=UTF-8");
        
        try {            
            Context initCtx = new InitialContext();
            Context envCtx = (Context) initCtx.lookup("java:comp/env");
            
            String loggingLevel = readOptionalParameter(envCtx, "logging.level");
            String jdbcHost = readOptionalParameter(envCtx, "jdbc.host");
            String jdbcPort = readOptionalParameter(envCtx, "jdbc.port");
            
            String jdbcDriver = (String)envCtx.lookup("jdbc.driver");
            String jdbcDatabase = (String)envCtx.lookup("jdbc.database");
            String jdbcUser = (String)envCtx.lookup("jdbc.user");
            String jdbcPwd = (String)envCtx.lookup("jdbc.pwd");
            String jdbcDriverClass = (String)envCtx.lookup("jdbc.driverclass");
            String fileManagerEndPoint = (String)envCtx.lookup("fileManagerEndPoint");
            String downloaderEndPoint = (String)envCtx.lookup("downloaderEndPoint");
            
            String scheme = request.getScheme();             // http
            String serverName = request.getServerName();     // hostname.com
            int serverPort = request.getServerPort();        // 80
            String contextPath = request.getContextPath();   // /mywebapp
            
            if ((jdbcHost == null) || (jdbcHost.length() == 0)) {
                jdbcHost = serverName;
            }
            String uploadFileUrl = scheme+"://"+serverName+":"+serverPort+contextPath+"/"+"fileupload";
            fileManagerEndPoint = scheme+"://"+serverName+":"+serverPort + fileManagerEndPoint;
            downloaderEndPoint = scheme+"://"+serverName+":"+serverPort + downloaderEndPoint;
            
            String swVerInfo= "";
            String swTitleInfo= "";
            
            InputStream inputstream= getServletContext().getResourceAsStream("/AppletAdministration.jar");
            JarInputStream jarInputStream= new JarInputStream(inputstream);
            Manifest manifest = jarInputStream.getManifest();
            
            //get MANIFEST_VERSION value from manifest

            if (manifest!=null) {
                try {
                    Map map= manifest.getEntries();
                    Attributes attrs = (Attributes)map.get("adminApplet");
                    
                    swVerInfo+= (attrs!=null && attrs.getValue(Attributes.Name.IMPLEMENTATION_VERSION)!=null)?"(ver. "+attrs.getValue(Attributes.Name.IMPLEMENTATION_VERSION)+")":"";
                    swTitleInfo+= (attrs!=null && attrs.getValue(Attributes.Name.IMPLEMENTATION_TITLE)!=null)?"\""+attrs.getValue(Attributes.Name.IMPLEMENTATION_TITLE)+"\"":"Mini Metro Administration Console";
   
                } catch (Exception ex) {
                }
            }

            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head>");
            //out.println("<title>Administration Console</title>");
            out.println("<title>" + swTitleInfo + " " + swVerInfo + "</title>");
            out.println("<link REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"main.css\"/>");
            out.println("</head>");
            out.println("<body>");
            
            //out.println("<!--" + test + "-->");
            
            out.println("<APPLET ALIGN=\"CENTER\"");
            
            out.print("codebase=\"");
            out.print(contextPath);
            out.println("/\"");
            
            out.println("code=\"SupervisorApplet.class\"");
            
            out.print("archive=\"");
            out.print("AppletAdministration.jar,");
            out.print("axis.jar,");
            
            
            
            out.println("width=\"100%\"");
            out.println("height=\"100%\">");
            
            
            // parameters
            if ((loggingLevel != null) && (loggingLevel.length() > 0)) {
                out.print("<param name=\"");
                out.print("logging.level");
                out.print("\" value=\"");
                out.print(loggingLevel);
                out.println("\" />");
            }
            
            out.print("<param name=\"");
            out.print("jdbc.driver");
            out.print("\" value=\"");
            out.print(jdbcDriver);
            out.println("\" />");
            
            out.print("<param name=\"");
            out.print("jdbc.host");
            out.print("\" value=\"");
            out.print(jdbcHost);
            out.println("\" />");
            
            out.print("<param name=\"");
            out.print("jdbc.port");
            out.print("\" value=\"");
            out.print(jdbcPort);
            out.println("\" />");
            
            out.print("<param name=\"");
            out.print("jdbc.database");
            out.print("\" value=\"");
            out.print(jdbcDatabase);
            out.println("\" />");
            
            out.print("<param name=\"");
            out.print("jdbc.user");
            out.print("\" value=\"");
            out.print(jdbcUser);
            out.println("\" />");
            
            out.print("<param name=\"");
            out.print("jdbc.pwd");
            out.print("\" value=\"");
            out.print(jdbcPwd);
            out.println("\" />");
            
            out.print("<param name=\"");
            out.print("jdbc.driverclass");
            out.print("\" value=\"");
            out.print(jdbcDriverClass);
            out.println("\" />");
            
            
            
            final Cookie[] cookies = request.getCookies();
            if (cookies != null) {
                for (int i = 0; i < cookies.length; ++i) {
                    if ("JSESSIONID".equalsIgnoreCase(cookies[i].getName())) {
                        out.print("<param name=\"");
                        out.print("sessionid");
                        out.print("\" value=\"");
                        out.print(cookies[i].getValue());
                        out.println("\" />");
                        break;
                    }
                }
            }
            
            /////////////////////////
            // PROFILATION
            /////////////////////////
            
            out.print("<param name=\"");
            out.print("roles");
            out.print("\" value=\"");
            
            final StringBuilder builder = new StringBuilder();
            for (final Iterator roles = Roles.getValues(); roles.hasNext();) {
                final String role = roles.next().toString();
                if (request.isUserInRole(role)) {
                    if (builder.length() > 0) {
                        builder.append(",");
                    }
                    builder.append(role);
                }
            }
            out.print(builder);
            out.println("\" />");
            
            out.println("</APPLET>");
            out.println("</body>");
            out.println("</html>");
            out.close();
            
        } catch (Throwable e){
            log.error(e.getMessage(), e);
            throw new ServletException(e.getMessage());
        }
    }
    private static final String readOptionalParameter(Context context, String name) {
        try {
            return (String) context.lookup(name);
        } catch (NamingException ex) {
            log.warn(ex.getMessage());
            return null;
        }
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}

Ultima modifica di albertovw : 22-11-2007 alle 13:05.
albertovw è offline   Rispondi citando il messaggio o parte di esso
Old 22-11-2007, 15:52   #2
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
...allora...se la request è un HttpServletRequest...

Codice:
public void test(HttpServletRequest request) throws Exception{

String attributo = (String)request.getSession().getAttribute("attributo");

}
...usando Struts...ma gli strati sono simili...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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 ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
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: 01:33.


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