我想知道如何获取请求参数“j_username”和“j_password”的值?
使用基于表单的身份验证成功登录后,我希望我的servlet获取参数“j_username”和“j_password”的值,但我在两个参数中都得到null值。有谁能请告诉我如何才能获得两个参数的实际价值?
Servlets类:
package foo;
import javax.servlet.http.*;
import javax.servlet.*;
public class RequestHandler extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
{
try
{
String user = request.getParameter("j_username");
String password = request.getParameter("j_password");
response.getWriter().println(user+" "+password);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
输出:null null
答案 0 :(得分:2)
您可以通过getRemoteUser()
或getUserPrincipal()
获取用户名,后者也可以让您在转换为具体课程后获取密码,但我对此表示怀疑。您的应用程序不需要知道或使用密码做任何事情。
答案 1 :(得分:1)
尝试使用
request.getUserPrincipal().getName();
在成功登录后访问用户名。
答案 2 :(得分:1)
您确定在表单中使用GET
吗?您是否尝试使用doPost
?