【发布时间】:2011-01-23 21:42:27
【问题描述】:
我有一个使用 MyFaces 1.2.8、Facelets 1.1.14 构建的 JSF 应用程序,并通过它在 Eclipse Ganymede 中的插件使用 Tomcat 6 构建它。
我刚刚安装了上述库的最新版本,并且在构建时,应用程序部署正常,服务器开始启动,我立即得到以下信息:
javax.servlet.ServletException: javax.crypto.BadPaddingException: Given final block not properly padded
谷歌搜索这个指向this页面,其结果是使用这个禁用MyFaces和Facelets的错误处理
<context-param>
<param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>
最重要的是使用这个:
org.apache.myfaces.USE_ENCRYPTION
设置为假。我不想这样做,但没有其他有用的信息。有没有人知道这个问题是否有解决方法?我最近才从 mojarra 迁移过来,我不想回去。
我们认为降级 MyFaces 会起作用吗?我要试试。
感谢 IA。
【问题讨论】:
-
它总是给出这个例外吗?或仅在您第一次打开页面时
-
我估计可能 >75% 的时间。不久之前,为了整理我的工作,我关闭了客户端加密,但显然我不想这样。
-
只是好奇:你们为什么用 MyFaces 替换 Mojarra?
-
从内存中,当您重新启动 Tomcat 服务器时,有时会出现 BadPaddingException。我想这与会话不再有效有关。
-
@James P. 这也是我读过的。加密密钥正在重新发布,因此不一样。现在这对我没有好处,因为我可能需要随时在开发和测试中重新启动服务器。
标签: tomcat jsf servlets myfaces