Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-11-2007, 14: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 14:05.
albertovw è offline   Rispondi citando il messaggio o parte di esso
Old 22-11-2007, 16: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


Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
SpaceX: Elon Musk torna a parlare dei pr...
G.Skill risarcisce 2,4 milioni di dollar...
Test degli annunci su ChatGPT avviati: '...
TSMC approva investimenti record da quas...
L'IA agentica arriva anche sullo storage...
Euro digitale, il Parlamento UE cambia r...
Alphabet e la sua obbligazione centenari...
L'UE anticipa un intervento per bloccare...
Il Trump Phone esiste ma è molto ...
Frodi deepfake fuori controllo: perch&ea...
Consumano il 30% in meno: arrivano i nuo...
Tesla Semi svela i numeri definitivi: 80...
La Air Force statunitense vieta occhiali...
Wi-Fi Intel e Windows: le novità ...
Dongfeng sbarca 'a casa loro': il nuovo ...
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: 20:44.


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