|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
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"> </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"> </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> 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. |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...allora...se la request è un HttpServletRequest...
Codice:
public void test(HttpServletRequest request) throws Exception{ String attributo = (String)request.getSession().getAttribute("attributo"); } ...ciao... |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:23.