[Resolvido][JSF]Limite de páginas abertas na sessão? ViewState deletado?

Eu tinha um problema ontem aqui relatado, mas já que o problema mudou tão drasticamente (arranjei os sintomas) e como eu havia postado no fórum errado, estou fazendo um novo tópico.

Eu tenho uma página JSF que tem vários pop-ups. Cada um desses pop-ups abria outras pagininhas (usando a mesma sessão) de pesquisa, etc etc, e voltava o fluxo para a página principal por JAVASCRIPT. Sabe, bem tosco mesmo de window.open e window.parent.funcaoCallBack.

O fato interessante é que quando abrimos um número grande de popups (sei lá, uns 10 ou 20) os botões da página principal não funcionam mais: é acusado que o ViewId não pode ser recuperado ou algo assim. Fiz o teste daí para que a cada vez que 'voltasse" do popup pela função de callBack, a página fosse recarregada ( document.forms[0].submit() ), e assim funciona.

Então nosso pensamento é que a ViewId é deletada por causa da quantidade de páginas abertas depois. O tempo não parece ter influência nenhuma no resultado.

Alguém já viu algum relato parecido?

Era o javax.faces.STATE_SAVING_METHOD setado para server.

Eu não havia entendido que quando era server, havia um limite de view por sessão. Tive que mudar para client , deixar tudo serializable e arrumar mais uns detalhezinhos pelo caminho…

Estou com o mesmo problem Cintia, mas realmente ocorre por causa do timeout da sessao… Estou procurando a solução.

Desculpa, não tinha visto seu outro post… realmente é isso…

coloquem no web.xml

State saving method: "client" or "server" (= default) See JSF Specification 2.5.2 javax.faces.STATE_SAVING_METHOD client

Daí resolve.

Vocês podem continuar utilizam o modo “server”, contudo precisam aumentar o número de views na sessão:

<context-param> <param-name>org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION</param-name> <param-value>40</param-value> <description>Only applicable if state saving method is "server" (= default). Defines the amount (default = 20) of the latest views are stored in session. </description> /context-param>

O interessante é que vocês entendam a diferença entre eles,
http://www.rponte.com.br/2007/10/14/state_saving_method-server-ou-client/

Abraços.

Só para constar eu vou deixar uma outra dica sobre esse problema:

A versão do Rich Faces 3.2.1.GA tem um bug que ao mudar o parâmetro do web.xml javax.faces.STATE_SAVING_METHOD para “server” dá a seguinte mensagem de erro ao acessar qualquer página:

javax.faces.application.ViewExpiredException: /login.jspThe expected view was not returned for the view identifier: /login.jsp
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:88)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)

Parâmetro do web.xml.
<context-param>
<description>State saving method: “client” or “server” (=
default) See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>

Com o parâmetro javax.faces.STATE_SAVING_METHOD = “client” o problema não acontece, porém o estado de todas as views serão enviados no HTML e a consequência disso são HTMLs com tamanhos bem maiores. Na minha aplicação, por exemplo, apresentava lentidão em algumas páginas com modo “client”.

Eu atualizei para o RichFaces 3.3.0.GA e o problema foi solucionado.

Referência: https://jira.jboss.org/jira/browse/RF-3604

Abraço,

Tenho encontrado o mesmo problema, porém essa configuração do
org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION
requer o myfaces, então devo apenas incluir as libs no meu projeto??? Ou tenho que fazer também alguma configuração do myfaces no meu web.xml para integra-lo no meu projeto???
Abaixo trecho do meu web.xml


<session-config>
 	<session-timeout>30</session-timeout>
 </session-config>
 <context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.xhtml</param-value>
 </context-param>
 <context-param>
  <param-name>facelets.REFRESH_PERIOD</param-name>
  <param-value>-1</param-value>
 </context-param>

 <context-param>
  <param-name>facelets.DEVELOPMENT</param-name>
  <param-value>false</param-value>
 </context-param>

 <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>server</param-value>
 </context-param>
 <!--
 	<context-param>  
        <param-name>org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION</param-name>  
        <param-value>60</param-value>  
 	</context-param>
 -->
 <context-param>
  <param-name>com.sun.faces.validateXml</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>com.sun.faces.verifyObjects</param-name>
  <param-value>false</param-value>
 </context-param>
 <context-param>
  <param-name>org.ajax4jsf.SKIN</param-name>
  <param-value>emeraldTown</param-value>
 </context-param>
 <context-param> 
  <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
  <param-value>com.sun.facelets.FaceletViewHandler</param-value>
 </context-param>
 <context-param>
  <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>org.ajax4jsf.COMPRESS_STYLE</param-name>
  <param-value>true</param-value>
 </context-param> 
 <context-param>
  <param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
  <param-value>NEKO, TIDY</param-value>
 </context-param>
 <context-param>
  <param-name>org.richfaces.CONTROL_SKINNING</param-name>
  <param-value>enable</param-value>
 </context-param>
 
 	<context-param>
		<param-name>org.richfaces.LoadStyleStrategy</param-name>
		<param-value>DEFAULT</param-value>
	</context-param>
	<context-param>
		<param-name>org.richfaces.LoadScriptStrategy</param-name>
		<param-value>DEFAULT</param-value>
	</context-param>

	<filter>
		<display-name>Ajax4jsf Filter</display-name>
		<filter-name>ajax4jsf</filter-name>
		<filter-class>org.ajax4jsf.Filter</filter-class>
		<init-param>
			<param-name>createTempFiles</param-name>
			<param-value>false</param-value>
		</init-param>
		<init-param> 
			<param-name>maxRequestSize</param-name>
			<param-value>200000000</param-value>
		</init-param>
	</filter>
	<filter-mapping>
  		<filter-name>ajax4jsf</filter-name>
		  <servlet-name>Faces Servlet</servlet-name>
		  <dispatcher>FORWARD</dispatcher>
		  <dispatcher>REQUEST</dispatcher>
		  <dispatcher>INCLUDE</dispatcher>
		  <dispatcher>ERROR</dispatcher>
 	</filter-mapping>

Essas configurações eu retirei do exemplo do richfaces do site da jboss, no projetão que apresenta todos os componentes.

Por favor, alguem pode me ajudar.

Eu estou com o richfaces e as vezes o menu para de funcionar, para de responder aos cliques

eu estou usando a versao 3.2.2

tentei atualizar para a versao 3.3.0 parece que piorou

alguem tem uma dica

Aqui esta meu web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>SIBR</display-name>
	<welcome-file-list>
		<welcome-file>index.xhtml</welcome-file>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<description>SIBR</description>
	<context-param>
		<param-name>org.richfaces.SKIN</param-name>
		<param-value>glassX</param-value>
	</context-param>


	<!-- NEKO -->
	<context-param>
		<param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
		<param-value>NONE,NEKO,TIDY</param-value>
	</context-param>
	<context-param>
		<param-name>org.ajax4jsf.xmlparser.NONE</param-name>
		<param-value>/pages/performance\.xhtml,/pages/default.*\.xhtml</param-value>
	</context-param>
	<context-param>
		<param-name>org.ajax4jsf.xmlparser.NEKO</param-name>
		<param-value>/pages/repeat\.xhtml</param-value>
	</context-param>
	<filter>
		<display-name>RichFaces Filter</display-name>
		<filter-name>richfaces</filter-name>
		<filter-class>org.ajax4jsf.Filter</filter-class>
		<init-param>
			<param-name>forceparser</param-name>
			<param-value>false</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>richfaces</filter-name>
		<servlet-name>Faces Servlet</servlet-name>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
	</filter-mapping>
	
	<context-param>
		<param-name>facelets.REFRESH_PERIOD</param-name>
		<param-value>-1</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
		<param-value>.jsp</param-value>
	</context-param>
	<context-param>
		<param-name>facelets.DEVELOPMENT</param-name>
		<param-value>false</param-value>
	</context-param>
	<context-param>
		<param-name>com.sun.faces.verifyObjects</param-name>
		<param-value>true</param-value>
	</context-param>
	<context-param>
		<param-name>com.sun.faces.validateXml</param-name>
		<param-value>true</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>server</param-value>
	</context-param>
	<context-param>
		<description>This parameter tells MyFaces if javascript code
			should be allowed in the rendered HTML output. If javascript is
			allowed, command_link anchors will have javascript code that submits
			the corresponding form. If javascript is not allowed, the state
			saving info and nested parameters will be added as url parameters.
			Default: &quot;true&quot;</description>
    <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <description>This parameter tells MyFaces if javascript code
			should be allowed in the rendered HTML output. If javascript is
			allowed, command_link anchors will have javascript code that submits
			the corresponding form. If javascript is not allowed, the state
			saving info and nested parameters will be added as url parameters.
			Default: &quot;false&quot; Setting this param to true should be combined with
			STATE_SAVING_METHOD &quot;server&quot; for best results. This is an
			EXPERIMENTAL feature. You also have to enable the detector
			filter/filter mapping below to get JavaScript detection working.</description>
    <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
    <param-value>false</param-value>
  </context-param>
  <context-param>
    <description>If true, rendered HTML code will be formatted, so that
			it is &quot;human readable&quot;. i.e. additional line separators and
			whitespace will be written, that do not influence the HTML code.
			Default: &quot;true&quot;</description>
    <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <description>If true, a javascript function will be rendered that is
			able to restore the former vertical scroll on every request.
			Convenient feature if you have pages with long lists and you do not
			want the browser page to always jump to the top if you trigger a link
			or button action that stays on the same page. Default: &quot;false&quot;</description>
    <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
    <param-value>true</param-value>
  </context-param>
  <filter>
    <filter-name>extensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
    <init-param>
      <description>Set the size limit for uploaded files. Format: 10 -
				10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB</description>
      <param-name>uploadMaxFileSize</param-name>
      <param-value>100m</param-value>
    </init-param>
    <init-param>
      <description>Set the threshold size - files below this limit are
				stored in memory, files above this limit are stored on disk. Format:
				10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB</description>
      <param-name>uploadThresholdSize</param-name>
      <param-value>100k</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>*.jsf</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>/faces/*</url-pattern>
  </filter-mapping>
  <filter>
    <filter-name>sessionFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>sessionFilter</filter-name>
    <url-pattern>*.faces</url-pattern>
  </filter-mapping>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>
  

  
  	<context-param>
 		<param-name>facelets.BUFFER_SIZE</param-name>
 		<param-value>500000</param-value>
	</context-param>
	
	<context-param>
		<param-name>org.apache.myfaces.COMPRESS_STATE_IN_SESSION</param-name>
       	<param-value>false</param-value>
    </context-param>
    
   	<context-param>
       	<param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
       	<param-value>false</param-value>
    </context-param>
    
   	<context-param>
       	<param-name>org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION</param-name>
       	<param-value>50</param-value>
    </context-param>
  
  
  <listener>
    <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>-1</session-timeout>
  </session-config>
  <servlet>
    <description></description>
    <display-name>ReportMakerServlet</display-name>
    <servlet-name>ReportMakerServlet</servlet-name>
    <servlet-class>br.senai.cni.bolsa.report.ReportMakerServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ReportMakerServlet</servlet-name>
    <url-pattern>/ReportMakerServlet</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>ReportAnuncioTotalServlet</display-name>
    <servlet-name>ReportAnuncioTotalServlet</servlet-name>
    <servlet-class>br.senai.cni.bolsa.report.ReportAnuncioTotalServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ReportAnuncioTotalServlet</servlet-name>
    <url-pattern>/ReportAnuncioTotalServlet</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>ReportAnuncioTotalDiaServlet</display-name>
    <servlet-name>ReportAnuncioTotalDiaServlet</servlet-name>
    <servlet-class>br.senai.cni.bolsa.report.ReportAnuncioTotalDiaServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ReportAnuncioTotalDiaServlet</servlet-name>
    <url-pattern>/ReportAnuncioTotalDiaServlet</url-pattern>
  </servlet-mapping>
  
  <servlet>
   <servlet-name>FCKFaces</servlet-name>
   <servlet-class>org.fckfaces.util.Servlet</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>FCKFaces</servlet-name>
   <url-pattern>/fckfaces/*</url-pattern>
</servlet-mapping>

<context-param>
   <param-name>org.fckfaces.CUSTOM_CONFIGURATIONS_PATH</param-name>
   <param-value>fckconfig.js</param-value>
</context-param>
  

</web-app>

[quote]
Olá pessoal,
Estou com outro codigo para login e senha, mas ele não está achando a servlet que criei no pacote caminho, ou seja eu criei duas servlets
dentro do pacote caminho uma Cadastro e outra Controle, só que quando vou fazer o cadastro clicando em Enviar está dando erro, se vc
puder me dar uma ajuda aí parceiro.[/quote]

[code] index.jsp

Sistema de Login

Criando um sistema de login

Login

Controle.jsp

Login:



Senha:









Cadastre-se

Cadastro.jsp

Login:

Senha:

Redigite Senha


Cadastro.java(servlet dentro do pacote java caminho)

package caminho;

import java.io.;
import java.net.
;
import javax.servlet.;
import javax.servlet.http.
;
import java.security.;
import java.sql.
;
import sun.misc.*;

public class Cadastro extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(“text/html;charset=UTF-8”);

PrintWriter out = response.getWriter();
String login = request.getParameter(“login”);
String senha = request.getParameter(“senha”);
String senha2 = request.getParameter(“senha2”);
if(senha.equals(senha2)){
// criptografa
byte chave1[]=login.getBytes();
login = new BASE64Encoder().encode(chave1);
byte chave2[] = senha.getBytes();
senha=new BASE64Encoder().encode(chave2);
try{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/login”,“root”,“rodrigo”);
PreparedStatement stmt=con.prepareStatement(“insert into usuario values(?,?)”);
stmt.setString(1,login);
stmt.setString(2,senha);
stmt.execute();
stmt.close();
out.print(“
senha:”+senha);
out.print(“
Login:”+login);
}catch (Exception e){
out.print(e.getMessage());
}

}
}
}

Controle.java(servlet dentro do pacote java caminho)

package caminho;

import java.io.;
import java.net.
;
import javax.servlet.;
import javax.servlet.http.
;
import sun.misc.;
import java.sql.
;

public class Controle extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(“text/html;charset=UTF-8”);

PrintWriter out = response.getWriter();
String login = request.getParameter(“login”);
String senha = request.getParameter(“senha”);
byte chave1[] = login.getBytes();
byte chave2[] = senha.getBytes();
login = new BASE64Encoder().encode(chave1);
senha = new BASE64Encoder().encode(chave2);

try{

Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/login”,“root”,“rodrigo”);
PreparedStatement stmt=con.prepareStatement(“select * from usuario where login=? and senha=?”);
stmt.setString(1,login);
stmt.setString(2,senha);
ResultSet rs=stmt.executeQuery();
while(rs.next()){
out.print(“Acesso ok,login e senha confere”);
break;
}

 }catch(Exception e){
         out.print(e.getMessage());
 }
 }

}

[/code]


E meu banco de dados ficou assim:

create database login;
use login;
create table usuario(login varchar(15), senha varchar(15));

[quote=andrepestana]Só para constar eu vou deixar uma outra dica sobre esse problema:

A versão do Rich Faces 3.2.1.GA tem um bug que ao mudar o parâmetro do web.xml javax.faces.STATE_SAVING_METHOD para “server” dá a seguinte mensagem de erro ao acessar qualquer página:

javax.faces.application.ViewExpiredException: /login.jspThe expected view was not returned for the view identifier: /login.jsp
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:88)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)

Parâmetro do web.xml.
<context-param>
<description>State saving method: “client” or “server” (=
default) See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>

Com o parâmetro javax.faces.STATE_SAVING_METHOD = “client” o problema não acontece, porém o estado de todas as views serão enviados no HTML e a consequência disso são HTMLs com tamanhos bem maiores. Na minha aplicação, por exemplo, apresentava lentidão em algumas páginas com modo “client”.

Eu atualizei para o RichFaces 3.3.0.GA e o problema foi solucionado.

Referência: https://jira.jboss.org/jira/browse/RF-3604

Abraço,
[/quote]

André,

Segui as suas dicas e corrigi o mesmo problema na minha aplicação: lentidão utilizando o modo client.

Sei que o post é antigo, mas também sei que ele é sempre visitado. Sendo, segue mais um blog post sobre o assunto,

Espero que ajude :slight_smile:

Prezados,

Estou iniciando meus estudos com JSF/RichFaces e passando pelo mesmo problema.
Estou usando RichFace 3.3.1.

Segue meu abaixo meu web.xml ->>>>>
Já procurei a solução em vários locais, mas sem conclusão.
javax.servlet.ServletException: javax.servlet.ServletException: viewId:/tabela/uf.jsf - View /tabela/uf.jsf could not be restored.
O estranho é que até no próprio site do RichFace ocorre o mesmo erro.
javax.servlet.ServletException: viewId:/richfaces/suggestionBox.jsf - View /richfaces/suggestionBox.jsf could not be restored.

Felipe Aragão

<?xml version="1.0" encoding="UTF-8"?>


advocato

org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION 40 org.richfaces.SKIN blueSky javax.faces.STATE_SAVING_METHOD server RichFaces Filter richfaces org.ajax4jsf.Filter richfaces Faces Servlet REQUEST FORWARD INCLUDE HibernateSessionFilter br.com.qualify.advocato.util.HibernateSessionFilter HibernateSessionFilter /* com.sun.faces.config.ConfigureListener Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.faces *.jsf

Boa tarde pessoal,

Pesquisando nos fóruns da JBoss Community, solução bastante simples e configurável diretamente no web.xml. Basta adicionar uma varíavel de contexto:

&lt;context-param&gt;
  &lt;param-name&gt;com.sun.faces.disableVersionTracking&lt;/param-name&gt;
  &lt;param-value&gt;true&lt;/param-value&gt;
&lt;/context-param&gt;

Conforme a referência, esta variável soluciona o problema da ViewExpiredException no JSF 1.1, 1.2 com RichFaces3.1.x. Este é o post para maiores detalhes:
http://www.jboss.org/community/wiki/RichFacesCookbookViewExpiredException.

Abraço a todos

Galera,

O tópico pode ser velho, mas acho que esse problema é bem comum, hehehehe. Eu mesmo estou quase infartando aqui com isso. Li os comentários do pessoal, tentei fazer o que indicaram, mas acho que ainda está faltando o pulo do gato, ou realmente já não estou enxergando o problema. Tentei tanto as configurações em modo client com definição de encryption e compressing, mas não funcionou. No modo client ao inves do browser renderizar a resposta, me exibiu como conteúdo xml =P. Estou utilizando IE6 por ser o padrão do cliente, não efetuei testes no Chrome ou FF.

Meu projeto tem as bibliotecas todas utilizadas pelo MyFaces
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-collections-3.2.jar
commons-digest-1.8.jar
commons-discovery-0.4.jar
commons-el.jar
commons-logging-1.1.1.jar
myfaces-api-1.2.3.jar
myfaces-impl-1.2.3.jar

Estou utilizando o JSF 1.2 e RichFaces 3.2.1 GA.

Preciso fazer atualizações nas bibliotecas?

Segue meu web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        id="WebApp_ID" version="2.5">
               
       
        <display-name>radarweb</display-name>
        <login-config>
                <auth-method>FORM</auth-method>
                <realm-name>radarweb-realm</realm-name>
                <form-login-config>
                        <form-login-page>/login/</form-login-page>
                        <form-error-page>/login/?login_error=1</form-error-page>
                </form-login-config>
         </login-config>
       
        <welcome-file-list>
                <welcome-file>index.jsp</welcome-file>
                <welcome-file>index.alu</welcome-file>
        </welcome-file-list>
       
        <error-page>
                <error-code>403</error-code>
                <location>/erros/403.jsp</location>
        </error-page>
        <error-page>
                <error-code>404</error-code>
                <location>/erros/404.jsp</location>
        </error-page>
       
        <!-- RICHFACES -->
        <context-param>
                <param-name>org.richfaces.SKIN</param-name>
                <param-value>blueSky</param-value>
        </context-param>
        <context-param>
                <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
                <param-value>client</param-value>
        </context-param>
        <context-param>
                <param-name>org.apache.myfaces.COMPRESS_STATE_IN_CLIENT</param-name>
                <param-value>true</param-value>
        </context-param>
        <context-param>
                <param-name>org.apache.myfaces.COMPRESS_STATE_IN_CLIENT</param-name>
                <param-value>true</param-value>
        </context-param>
        <context-param>
                <param-name>org.apache.myfaces.secret</param-name>
                <param-value>70895634</param-value>
        </context-param>
        <filter>
                <display-name>RichFaces Filter</display-name>
                <filter-name>richfaces</filter-name>
                <filter-class>org.ajax4jsf.Filter</filter-class>
        </filter>
        <filter-mapping>
                <filter-name>richfaces</filter-name>
                <servlet-name>Faces Servlet</servlet-name>
                <dispatcher>REQUEST</dispatcher>
                <dispatcher>FORWARD</dispatcher>
                <dispatcher>INCLUDE</dispatcher>
        </filter-mapping>
        <servlet>
                <servlet-name>Faces Servlet</servlet-name>
                <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                <load-on-startup>1</load-on-startup>
                <security-role-ref>
                  <role-name>ADMIN</role-name>
                  <role-link>role-admin</role-link>
                </security-role-ref>
                <security-role-ref>
                  <role-name>ROLE_OPERATOR</role-name>
                  <role-link>role-operator</role-link>
                </security-role-ref>
                <security-role-ref>
                  <role-name>ROLE_MONITOR</role-name>
                  <role-link>role-monitor</role-link>
                </security-role-ref>
        </servlet>
       
        <servlet-mapping>
                <servlet-name>Faces Servlet</servlet-name>
                <url-pattern>*.alu</url-pattern>
        </servlet-mapping>
       
        <security-role>
          <role-name>role-admin</role-name>
        </security-role>
        <security-role>
          <role-name>role-operator</role-name>
        </security-role>
        <security-role>
          <role-name>role-monitor</role-name>
        </security-role>
        <!-- SECURITY -->      
       
 
       
        <security-constraint>
                <web-resource-collection>
                        <web-resource-name>Admin</web-resource-name>
                        <url-pattern>/app/*</url-pattern>
                        <http-method>GET</http-method>
                        <http-method>POST</http-method>
                </web-resource-collection>
                <auth-constraint>
                        <role-name>role-admin</role-name>
                        <role-name>role-operator</role-name>
                        <role-name>role-monitor</role-name>
                </auth-constraint>
        </security-constraint>
</web-app>

Apesar do arquivo estar configurado com cliente, o metodo server com a definição de views armazenadas também não funcionou.

Conto com a ajuda de vocês pessoal!

Grande abraço!

Iai??
Afinal, alguem resolveu o problema do viewExpiredException para paginas salvas no servidor???

No meu caso carrego paginas em popups via ajax uma apos a outra e qd dou submit no form presente nessa paginas ganho de presente a excecao…

Chatissimo!

Vale ressaltar que nda dito anteriormente neste tópico resolveu oproblema!!

:frowning:

também de vez enquando da esse erro comigo tbm! é mais quando troca de pagina pelo handleNavigation
eu ja fiz também tudo deste topico mas ainda continua será que esta RESOLVIDO mesmo?

Olá,

Qual implementação Jsf (Mojarra, Myfaces etc) vocês estão utilizando?

Já tentaram aumentar o número de views na sessão? Caso sim, poderiam colar como está configurado no web.xml de vocês?

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <!-- ******************************************************************* -->
    <!-- PAGINA DE INICIO -->
    <!-- ******************************************************************* -->    
    <welcome-file-list>
        <welcome-file>start.jsp</welcome-file>
    </welcome-file-list>
    <!-- ******************************************************************* -->
    <!-- RICH FACES E CONFIGURACAO INICIAL -->
    <!-- ******************************************************************* -->
    <filter>
        <display-name>RichFaces Filter</display-name>
        <filter-name>richfaces</filter-name>
        <filter-class>org.ajax4jsf.Filter</filter-class>
        <init-param>
            <param-name>createTempFiles</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>maxRequestSize</param-name>
            <param-value>10485760</param-value>
        </init-param>
        <init-param>
            <param-name>forceparser</param-name>
            <param-value>false</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>richfaces</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <context-param>
        <param-name>org.richfaces.LoadStyleStrategy </param-name>
        <param-value>all</param-value>
    </context-param>
    <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>blueSky</param-value>
    </context-param>
    <context-param>
        <param-name>org.richfaces.CONTROL_SKINNING</param-name>
        <param-value>enable</param-value>
    </context-param>
    <!-- ******************************************************************* -->
    <!-- JSF E CONFIGURACAO -->
    <!-- ******************************************************************* -->
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>    
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.dg</url-pattern>
    </servlet-mapping>
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.faces.disableVersionTracking</param-name>
        <param-value>true</param-value>
    </context-param>
    <!-- ******************************************************************* -->
    <!-- CICLO DE VIDA DO FACES -->
    <!-- ******************************************************************* -->
    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
    <!-- ******************************************************************* -->
    <!-- AJAX A4J CONFIGURACAO PARA DESEMPENHO -->
    <!-- ******************************************************************* -->
    <context-param>
        <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
        <param-value>NEKO</param-value>
    </context-param>
    <context-param>
        <param-name>org.ajax4jsf.xmlparser.NEKO</param-name>
        <param-value>.* \ ..*</param-value>
    </context-param>
    <context-param>
        <param-name>org.ajax4jsf.handleViewExpiredOnClient</param-name>
        <param-value>true</param-value>
    </context-param>
    <!-- ******************************************************************* -->
    <!-- HIBERNATE -->
    <!-- ******************************************************************* -->
    <filter>
        <filter-name>HibernateFilter</filter-name>
        <filter-class>br.com.filter.HibernateSessionRequestFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HibernateFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- ******************************************************************* -->
    <!-- REDIRECIONAMETO DE ERROS -->
    <!-- ******************************************************************* -->
    <error-page>
        <error-code>404</error-code>
        <location>/erro404.jsp</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/erro500.jsp</location>
    </error-page>
    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/erro.jsp</location>
    </error-page>
    <!-- ******************************************************************* -->
    <!-- CAPTCHA -->
    <!-- ******************************************************************* -->
    <servlet>
        <servlet-name>StickyCaptcha</servlet-name>
        <servlet-class>nl.captcha.servlet.StickyCaptchaServlet</servlet-class>
        <init-param>
            <param-name>width</param-name>
            <param-value>169</param-value>
        </init-param>
        <init-param>
            <param-name>height</param-name>
            <param-value>74</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>StickyCaptcha</servlet-name>
        <url-pattern>/servletCaptcha</url-pattern>
    </servlet-mapping>
</web-app>