jetty:使用j_安全检查,因为url返回500错误

jetty:使用j_安全检查,因为url返回500错误,jetty,embedded-jetty,j-security-check,Jetty,Embedded Jetty,J Security Check,我使用jetty FormAuthenticator验证登录数据,如下所示 FormAuthenticator authenticator = new FormAuthenticator("login", "login", false); 在登录表单中,我有 <form method='POST' action='app/j_security_check'> </form> 我得到一个500的错误。除此之外,所有其他不正确的url案例都可以重新定向。有什么办法处理这

我使用jetty FormAuthenticator验证登录数据,如下所示

FormAuthenticator authenticator = new FormAuthenticator("login",  "login", false);
在登录表单中,我有

<form method='POST' action='app/j_security_check'>
</form>

我得到一个500的错误。除此之外,所有其他不正确的url案例都可以重新定向。有什么办法处理这个问题吗?我试过使用过滤器,但它不起作用。谢谢

错误500通常是一个服务器错误,一个例外。我需要一些逻辑来处理url为“localhost:8080/app/j_security_check”的情况。Jetty接受此url并按正常方式进行身份验证,这会导致NPE,因为没有提供用户名。通常情况下,用户在表单上输入用户名/密码,然后单击登录按钮。在这里,我直接键入url并得到错误。我该如何处理这个问题?
j_security_check
不是Jetty的一部分,Jetty本身没有对带有该路径的URL做任何特殊处理。应用程序中的某些内容配置为响应
j_security_check
,需要对该组件进行调查。请查看org.eclipse.jetty.security.authentication.FormAuthenticator的源代码。有一个方法validateRequest(…)。它使用一个方法isJSecurityCheck(),该方法检查路径是否为“\uuu J\u SECURITY\u CHECK”。这是一个常量值,等于“j_security_check”。FormAuthenticator处理ValidateRequest()方法中的“j_安全检查”。我读了好几遍代码,但没有发现当“/j_security_check”来自http get时,它是如何处理的。这与http get或post无关。它是关于request.getParameter(“j_username”):当没有用户名时,它返回null,null值最终导致NPE。我认为这是行不通的。无论如何,谢谢你的评论。
localhost:8080/app/j_security_check