Fazendo mais alguns testes. Identifiquei que ao fazer um refresh na página,
o Session ID está mudando.
A aplicação funcionava corretamente, mas após a atualização automática do
windows (kb2846071) passou a ter este comportamento de perda de sessão.
Att.
João Carlos
Em 13 de julho de 2013 16:53, Joao Carlos Gomes Cruz <jckgomescruz@gmail.com
> escreveu:
> Seguem os códigos:
>
> Tenho uma jsp com outra incluída
>
> selectProducts.jsp
>
> <%--
>   Description: This page allows to select the product, plan and number of
> objects for the quote.
>         Title: selectProducts.jsp
>     Copyright: (c) 2003 Consis International
>       Company: Consis International
>
>        Author: Consis International
>        Author: Salvador Velasco
>       Version: iBroker V2.0
>
>                Changes:
>                2004-12-21 (EFVP) JSP Documentation
> --%>
> <%@ page import="com.consisint.ibroker.main.configurator.*,
>                  com.consisint.ibroker.main.quoter.*,
>                  com.consisint.ibroker.servlets.iBrokerQuoterUser"%>
> <%@ page import="java.util.*"%>
> <%@ page errorPage="errorManager.jsp"%>
> <%@ page isELIgnored="false" %>
> <jsp:include page="sessionVerify.jsp"/>
> <%
>     WebQuoterStatus webStatus  = (WebQuoterStatus)
> session.getAttribute("webStatus");
>     webStatus.setStatus(WebQuoterStatus.NEW);
>     session.setAttribute("webStatus",webStatus);
>     iBrokerWebLanguageHandler userLanguage = (iBrokerWebLanguageHandler)
> request.getAttribute("language");
>     //iBrokerWebLayoutHandler userWebLayout  = (iBrokerWebLayoutHandler)
> request.getAttribute("weblayout");
>
>     //Frank T. 22/06/2007 -- Após versão de renovação, não estava
> atualizando quoteType.
>     //                       Em SelectProducts, sempre será "NEW_LINE"
>     //String quoteType = (String) session.getAttribute("quoteType");
>     //if (quoteType == null) {
>     //}
>
>     // Ricardo 12/07/2007
>     // As renovações que vinham do Lazuw eram tratadas como New Line.
> String requestType = (String)session.getAttribute("RequestType");
>     if ("RenewalRating".equalsIgnoreCase(requestType)) {
>     session.setAttribute("quoteType", Constants.RENEWAL);
>     } else {
>  session.setAttribute("quoteType", Constants.NEW_LINE);
>     }
>
>     iBrokerBean bean = (iBrokerBean)application.getAttribute("bean");
>
>     GroupIF agent = (GroupIF)session.getAttribute("agent");
>     Usuario userObject = (Usuario)session.getAttribute("user");
>     if ((agent==null)||(userObject==null))
>         throw new ServletException(userLanguage.mSessionHasExpired);
>
>     if (bean==null)
>         throw new ServletException(userLanguage.mBeanNotLoaded);
>
>     // LAZUW Interface
>     String workingLAZUW = (String)session.getAttribute("workingLAZUW");
>     boolean varLAZUW = (workingLAZUW!=null) ?
> workingLAZUW.equalsIgnoreCase("true") : false;
>
>     Ramos products = (Ramos)application.getAttribute("products");
>     if (products==null)
>         throw new ServletException(userLanguage.mErrorProductsNotLoaded);
>     Ramo product;
>     Producto plan;
>     AgregatedUserGroup agregatedAgent;
>
>     String[] allproductNames = null;
>
>     allproductNames = bean.getProductsArray(agent);
>
>     if (allproductNames==null)
>         throw new ServletException(userLanguage.mErrorNoProductsDefined);
>     else if (allproductNames.length<=0)
>         throw new ServletException(userLanguage.mErrorNoProductsDefined);
>     Vector allProdVector=new Vector();
>     for (int i=0; i< allproductNames.length; i++) {
>         if (!allProdVector.contains(allproductNames[i]))
>              allProdVector.add(allproductNames[i]);
>     }
>
>     allproductNames = new String[allProdVector.size()];
>     for (int i=0; i< allProdVector.size(); i++) {
>         allproductNames[i] =(String) allProdVector.get(i);
>     }
>
>     Empresas countries = (Empresas)application.getAttribute("countries");
>     if (countries == null)
>         throw new ServletException(userLanguage.mErrorCountryNotLoaded);
>     session.setAttribute("country",countries);
>
>     if (varLAZUW) {
>         product = (Ramo)application.getAttribute("product");
>         String pid = (String)session.getAttribute("productID");
>
>         String planName = ((pid!=null)&&(!pid.equals(""))) ?
> products.getPlan(pid) : null;
>
>         if ((product!=null)&&(planName!=null)) {
>             session.setAttribute("product",product);
>             plan = (Producto)product.getPlan(planName);
>             if (plan == null)
>                 throw new
> ServletException(userLanguage.mErrorPlanNotFound);
>             session.setAttribute("plan",plan);
>             agregatedAgent = plan.getGroup(agent.getDesc());
>             if (agregatedAgent == null)
>                 throw new
> ServletException(userLanguage.mErrorAgentNotLinked);
>             session.setAttribute("agregatedAgent",agregatedAgent);
>             session.setAttribute("allproductNames",allproductNames);
>             // clean up options
>             session.setAttribute("quotationOptions", new Vector());
>
> response.sendRedirect("processInputs.jsp?insuredItems=1&plan="+planName+"&product="+product.getDesc());
>             return;
>         }
>     }
>
>     String productSelected = (request.getParameter("product")!=null) ?
> request.getParameter("product") : allproductNames[0];
>
>     if (productSelected.equals("")) productSelected = allproductNames[0];
>
>     product  = products.get(productSelected);
>     if (product==null)
>         throw new ServletException(userLanguage.mErrorProductNotFound);
>     session.setAttribute("product",product);
>
>     String[] planNames = bean.getPlansArray(product);
>     if (planNames==null)
>         throw new ServletException(userLanguage.mErrorProductHasNoPlans);
>     else if (planNames.length<=0)
>         throw new ServletException(userLanguage.mErrorProductHasNoPlans);
>
>
>     String planSelected = (request.getParameter("plan")!=null) ?
> request.getParameter("plan") : "";
>     if (planSelected.equals("")) planSelected = planNames[0];
>     // pre-select the plan
>     plan = (Producto)product.getPlan(planSelected);
>     if (plan == null)
>         throw new ServletException(userLanguage.mErrorPlanNotFound);
>
> //Santa Elena - 19/05/2012 - Pricing Enhancemens - Melhora do processo de
> login
> //::Início
>     agregatedAgent = plan.getGroupIfExists(agent);
>     //::Fim
>
>     if (agregatedAgent == null)
>         throw new ServletException(userLanguage.mErrorAgentNotLinked);
>
>     session.setAttribute("agregatedAgent",agregatedAgent);
>     session.setAttribute("plan",plan);
>     session.setAttribute("allproductNames",allproductNames);
>     // clean up options
>     session.setAttribute("quotationOptions", new Vector());
>
>     String sel = "";
>     if ((allproductNames.length==1)&&(planNames.length==1)) {// there's
> only one product and plan frozen do not choose
>
> response.sendRedirect("processInputs.jsp?insuredItems=1&plan="+planSelected+"&product="+productSelected);
>     } else {
> %>
> <html>
> <head>
> <title><%=userLanguage.mSelectProductTitle%></title>
> <link rel="stylesheet" type="text/css"
> href="${sessionScope.weblayout.styleSheet}">
> </head>
> <script language="JavaScript1.2" src="js/checkform.js"></script>
> <body background="${sessionScope.weblayout.backgroundImage}"
> bgproperties="fixed" oncontextmenu="return false;" onunload="ajaxLogout();">
>   <table border="0" width="759" height="82">
>      <tr>
>         <td width=175 valign=top align=right>
>            <img src="images/chubb/chubb_logo.jpg" alt="The Chubb
> Corporation" hspace=0 vspace=0 valign="center" align="left" width=79
> height=85 border=0>
>         </td>
>         <td>
>            <img src="images/chubb/nullpixel.gif" width=25 height=1>
>         </td>
>      </tr>
>      <tr>
>         <td valign="bottom" align="left" colspan=2>
>         <h3><font
> color="#ACACAC"><%=userLanguage.mWebQuotingSystemTitle%></font></h3>
>         </td>
>      </tr>
>   </table>
> <form name="productForm" action="processInputs.jsp" method="get">
> <p><font color="#ACACAC"><%=userLanguage.mSelectWelcomeUser%>:
> <b><%=userObject.getLogin()%></b>,
> <%=userLanguage.mSelectYourProduct%>:</font></p>
> <br>
> <table border="0" cellpadding=5 cellspacing=0 align="center">
>   <tr>
>   <th class="texto" align="left" valign="middle" width=250>
>   <%=userLanguage.mSelectProductHeader%>:
>   </th>
>   <td class="texto" align="left" valign="middle" width=150>
>   <select name="product" size=1 class="forma" OnChange="refreshPage();">
>   <%
>         for (int i=0;i<allproductNames.length;i++ )
>         {
>            sel = (productSelected.equalsIgnoreCase(allproductNames[i])) ?
> "selected" : "";
>   %>
>            <option value="<%=allproductNames[i]%>"
> <%=sel%>><%=allproductNames[i]%></option>
>   <%    } %>
>   </select>
>   </td>
>   </tr>
>   <tr>
>   <th class="texto" align="left" valign="middle" width=250>
>   <%=userLanguage.mSelectPlanHeader%>:
>   </th>
>   <td class="texto" align="left" valign="middle" width=150>
>   <select name="plan" size=1 class="forma">
> <%
>         for (int j=0;j<planNames.length;j++) {
>             sel = (planSelected.equalsIgnoreCase(planNames[j])) ?
> "selected" : "";
> %>
>          <option value="<%=planNames[j]%>"
> <%=sel%>><%=planNames[j]%></option>
> <%      }
>
> %>
>   </select>
>   </td>
>   </tr>
>   <input type="hidden" name="insuredItems" value="1">
>   <tr>
>   <td class="texto" align="left" valign="middle" width=250>
>   <%=userLanguage.mPressContinueToStartNormal%>
>   </td>
>   <td class="texto" align="left" valign="middle" width=250>
>   <input type="button" class="altButtonFormat"
> value="<%=userLanguage.mProcessQuoteBack%>"
> onClick="history.go(-1);">  
>   <input type="submit" class="altButtonFormat"
> value="<%=userLanguage.mSelectProductContinueButton%>">
>   </td>
>   </tr>
>   </form>
> </body>
> </html>
> <%
>     }
> %>
>
>
> Na JSP que está incluída, tenho o código abaixo e o erro é o objeto
> language que fica null depois de dar um refresh na página selectProducts.jsp
>
> sessionVerify.jsp
>
> <%@ page
> import="com.consisint.ibroker.main.quoter.iBrokerWebLanguageHandler,
>
>  com.consisint.ibroker.main.quoter.iBrokerWebLayoutHandler,
>  com.consisint.ibroker.main.quoter.WebQuoterStatus,
>                  java.util.Locale"%>
> <%@ page isELIgnored="false" %>
> <%--
>   Description: This page verifies if the session variables to handle the
> language are still in there.
>         Title: viewquotes.jsp
>     Copyright: (c) 2003 Consis International
>       Company: Consis International
>
>        Author: Consis International
>       Version: iBroker Extranet
>
>                Changes:
>                2005-08-30 (EFVP) JSP Creation
> --%>
> <%
>     iBrokerWebLanguageHandler language =
> (iBrokerWebLanguageHandler)session.getAttribute("language");
>     //iBrokerWebLayoutHandler layout  =
> (iBrokerWebLayoutHandler)session.getAttribute("weblayout");
>     if (language==null)  {
>         language = new iBrokerWebLanguageHandler(new
> Locale(iBrokerWebLanguageHandler.PORTUGUESE,iBrokerWebLanguageHandler.BRA));
>         throw new ServletException(language.mSessionHasExpired);
>     }
>     //if (layout==null) {
>     //    throw new ServletException(language.mSessionHasExpired);
>     //}
>      pageContext.setAttribute("language", language,
> PageContext.REQUEST_SCOPE);
>      //pageContext.setAttribute("weblayout", layout,
> PageContext.REQUEST_SCOPE);
>     if (session.getAttribute("webStatus") ==null){
>         session.setAttribute("webStatus",new WebQuoterStatus());
>     }
> %>
>
>
> Em 13 de julho de 2013 12:18, Arthur José Eloy Pozo Colado <
> arthureloy@yahoo.com.br> escreveu:
>
>  **
>>
>>
>> Olá amigo...
>>
>> Você já tentou colocar o valor assim
>> session.putValue("variavel_armazena", valor que deseja colocar na sessão);
>> e depois para exibir o valor armazenado
>> session.getValue("variavel_armazena");
>>
>> Espero que tenha ajudado.
>>
>> Abraços
>>
>> Arthur
>>
>>
>> ________________________________
>> De: Marcus Paulo <mpaulobr@gmail.com>
>> Para: "java-br@yahoogrupos.com.br" <java-br@yahoogrupos.com.br>
>> Enviadas: Sábado, 13 de Julho de 2013 9:52
>> Assunto: Re: [java-br] objeto de sessão fica nulo na JSP após refresh da
>> página
>>
>>
>>
>> Olá José,
>>
>> Você tem como enviar o código-fonte.
>>
>> Amigo, esse seu atributo, ele não está em algum campo desabilitado?
>>
>> Abraços,
>> Marcus Paulo
>>
>> Enviado via iPhone
>>
>> > Em 13/07/2013, às 08:50, Joao Carlos Gomes Cruz <jckgomescruz@gmail.com>
>> escreveu:
>> >
>> > Bom dia Pessoal.
>> >
>> > Tenho em uma JSP um atributo que recupero da sessão no momento que a
>> mesma
>> > é aberta. Ao realizar um refresh na página o atributo da sessão fica
>> nulo.
>> > Já tenti adicionar o comando response.setDataHeader("Expires", 0) mas
>> não
>> > funcionou.
>> >
>> > Alguém já teve este problema?
>> >
>> > Obrigado.
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>> >
>> >
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>  
>>
>
>
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/java-br/
<*> Para sair deste grupo, envie um e-mail para:
    java-br-unsubscribe@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html
sábado, 13 de julho de 2013
Re: [java-br] objeto de sessão fica nulo na JSP após refresh da página
às
16:52
·
      
Assinar:
Postar comentários (Atom)
Pague com LPs do Mister Colibri
Hora
Online
Arquivo do Blog
- setembro (1)
 - abril (1)
 - agosto (1)
 - dezembro (1)
 - dezembro (1)
 - dezembro (1)
 - agosto (1)
 - junho (1)
 - fevereiro (1)
 - janeiro (7)
 - dezembro (7)
 - novembro (8)
 - outubro (10)
 - setembro (8)
 - agosto (11)
 - julho (9)
 - junho (8)
 - maio (8)
 - abril (9)
 - março (7)
 - fevereiro (14)
 - janeiro (6)
 - dezembro (4)
 - novembro (4)
 - outubro (10)
 - setembro (12)
 - agosto (10)
 - julho (7)
 - junho (10)
 - maio (9)
 - abril (11)
 - março (9)
 - fevereiro (5)
 - janeiro (12)
 - dezembro (10)
 - novembro (7)
 - outubro (9)
 - setembro (10)
 - agosto (12)
 - julho (9)
 - junho (10)
 - maio (19)
 - abril (6)
 - março (14)
 - fevereiro (11)
 - janeiro (11)
 - dezembro (14)
 - novembro (13)
 - outubro (9)
 - setembro (9)
 - agosto (9)
 - julho (12)
 - junho (11)
 - maio (12)
 - abril (12)
 - março (8)
 - fevereiro (8)
 - janeiro (17)
 - dezembro (20)
 - novembro (33)
 - outubro (12)
 - setembro (14)
 - agosto (12)
 - julho (16)
 - junho (10)
 - maio (13)
 - abril (21)
 - março (20)
 - fevereiro (34)
 - janeiro (16)
 - dezembro (14)
 - novembro (15)
 - outubro (22)
 - setembro (33)
 - agosto (17)
 - julho (70)
 - junho (16)
 - maio (58)
 - abril (21)
 - março (29)
 - fevereiro (29)
 - janeiro (21)
 - dezembro (52)
 - novembro (38)
 - outubro (38)
 - setembro (53)
 - agosto (38)
 - julho (36)
 - junho (38)
 - maio (65)
 - abril (38)
 - março (33)
 - fevereiro (50)
 - janeiro (51)
 - dezembro (37)
 - novembro (93)
 - outubro (59)
 - setembro (76)
 - agosto (86)
 - julho (98)
 - junho (27)
 - maio (68)
 - abril (98)
 - março (77)
 - fevereiro (149)
 - janeiro (146)
 - dezembro (68)
 - novembro (163)
 - outubro (103)
 - setembro (114)
 - agosto (106)
 - julho (157)
 - junho (141)
 - maio (204)
 - abril (148)
 - março (130)
 - fevereiro (97)
 - janeiro (57)
 - dezembro (61)
 - novembro (187)
 - outubro (163)
 - setembro (181)
 - agosto (170)
 - julho (254)
 - junho (232)
 - maio (396)
 - abril (294)
 - março (154)
 - fevereiro (167)
 - janeiro (260)
 - dezembro (186)
 - novembro (188)
 - outubro (224)
 - setembro (351)
 - agosto (287)
 - julho (336)
 - junho (379)
 - maio (263)
 - abril (245)
 - março (245)
 - janeiro (1)
 
0 comentários:
Postar um comentário