第一次加载时Glassfish FileNotFoundException

时间:2013-05-23 15:24:42

标签: java-ee java-ee-6 glassfish-3

我使用基于表单的身份验证(使用JSF)创建了一个简单的登录测试设置。 我有一个login.jsf页面和一个error.jsf页面,在登录失败时重定向到。现在,在我正在阅读的教程中(本书是使用Netbeans 7进行Java EE 6开发),他们最初创建了两个页面,其中包含相同的登录项,然后清理了返工问题通过使用其中包含登录表单的JSF段。

当我没有JSF段时,登录设置完美无缺。由于添加JSF段并更改两个页面以使用它,我收到500内部服务器错误,FileNotFoundException与我正在使用的任何页面相关,但仅在第一次!如果我刷新收到此错误后的页面,它可以正常工作。

这是有问题的部分:

<!-- loginform.jspf -->
<%@ page pageEncoding="UTF-8" %>
   <p>Please enter your username and password:</p>
    <form method="POST" action="j_security_check">
        <table border="1">
            <tbody>
                <tr>
                    <td>Username:&nbsp;</td>
                    <td><input type="text" name="j_username" value="" /></td>
                </tr>
                <tr>
                    <td>Password:&nbsp;</td>
                    <td><input type="password" name="j_password" value="" /></td>
                </tr>
            </tbody>
        </table>
        <input type="submit" value="Login" />
    </form>

由于我已经做了这个改变,我已经尝试恢复简单地让两个页面都包含相同形式的单独版本,但仍然没有运气。

这是Glassfish在首次加载其中一个页面时抛出的异常示例:

Glassfish Error

如果您需要我上传更多的源代码以进行故障排除,请在评论中说明,我会发布(我不希望这个问题充斥着源代码,除非有必要)。< / p>

谢谢你的时间!

编辑:我注意到的一件事。即使让Glassfish加载一段时间后,第一次访问任何页面,我仍然会收到此异常。

1 个答案:

答案 0 :(得分:0)

我已经设法弄清楚发生了什么。显然,glassfish / domains // generated / jsp中的JSP部署文件夹由root拥有,这在某种程度上使得第一次运行时无法访问这些项目。我仍然不确定为什么它会让我在刷新后访问这些页面,但是chowning整个glassfish安装解决了我的问题。

该问题与我在服务器日志中发现的异常有关:

"The scratchDir you specified: /home/bitwise/glassfish3/glassfish/domains/
bitwise/generated/jsp/securedsimplewebapp is unusable."

因此,如果有人有类似的例外情况,请检查以确保您是glassfish安装的所有者。