Java EE : Getting parameters from POST for a login form

标签 java html xml servlets

我正在尝试实现一个简单的登录 servlet,但它无法正常工作。

我想知道的是如何使用 HTTP POST 传递参数。它已经适用于 HTTP GET,但用户名和密码可以从 URL 中看到。最好将它们隐藏在 POST 中。

<form method="post" action="home" >
  <input name="username" class="form-login" title="Username" value="" size="30" maxlength="2048" />
  <input name="password" type="password" class="form-login" title="Password" value="" size="30" maxlength="2048" />
  <input type="submit" value="Connect">
</form>

web.xml

  <servlet>
    <servlet-name>home</servlet-name>
    <servlet-class>controller.HomeController</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>home</servlet-name>
    <url-pattern>/home</url-pattern>
  </servlet-mapping>

小服务程序:

public class HomeController extends HttpServlet {

    private HttpSession session;
    private UserBean userBean;

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        UserBean user = new UserBean();
        String userName = request.getParameter("username");
        String password = request.getParameter("password");

        user.setUsername(userName);
        user.setPassword(password);

        user = UserDAO.login(user);

        dispatch(request, response, ApplicationRessource.getInstance().getHomePage());
    }

    protected void dispatch(HttpServletRequest request,
                HttpServletResponse response, String page)
            throws javax.servlet.ServletException, java.io.IOException {
        RequestDispatcher dispatcher = getServletContext()
                .getRequestDispatcher(page);
        dispatcher.forward(request, response);
    }
}

问题是 userNamepassword 字符串总是空的,这意味着参数永远不会从 POST 中获取。我做错了什么?

最佳答案

它应该可以工作,你可以通过更改表单方法来检查并尝试,你应该在 url 中看到参数。

关于Java EE : Getting parameters from POST for a login form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036651/

相关文章:

java - 多次调用时,ensureIndex() 命令在 java/scala mongo 驱动程序中执行什么操作

java - 在 Edittext 中保存输入用户

java - 在 AST Visitor 中,我如何知道我正在访问哪个节点的属性?

c# - SpreadsheetML 到 Open XML (XLSX) 的 Excel 转换

java - 如何在队列中使用异常

html - 如何删除 Wordpress 标题和内容之间的 p 标签中的空格?

html - 将鼠标悬停在下拉菜单上的文本保持白色

php - 允许虚荣 URL 和 session 的单个 .htaccess 文件

android - 如何正确扩展ImageButton?

python - 用 Python 解析 Google 联系人信息源