Servlet:doGet和doPost

时间:2011-09-20 10:28:59

标签: java servlets portlet vaadin

我有2个参数,UserPass。我想将它们发送到servlet。

如果我使用servlet的doGet方法,它将如下所示:

"link?User="+TextFieldValue+"&pass"textFieldValue

user= UserName.getValue();
pass= password.getValue();

Resource newPictureResource = new ExternalResource("http://localhost:8888/PieChart?UserName="+name+"&Password="+pass);
Success.setSource(newPictureResource);
editContent.addComponent(Success);

将它们发送到servlet:

    String UserName = request.getParameter("UserName");
    String Password = request.getParameter("Password");

它有效(测试)

如果Username + pass正确,那么他会在屏幕上显示“成功”图片。

但没有人通过网址传递参数。

我的问题:如何使用servlet的doPost方法发送参数?

info:我正在使用Vaadin portlet在liferay门户上使用eclipse。

2 个答案:

答案 0 :(得分:3)

您在doPost(..)发送参数。你在那里收到。 HTTP有很多方法,其中两个是GET和POST。由客户端决定使用哪种方法。 POST最常用于html表单 - <form method="POST"

Vaadin也应该能够发送POST请求 - 请参阅this thread

答案 1 :(得分:1)

不确定Vaadin如何交互,但通常portlet请求的处理方式不同。尽管如此The Book of Vaadin - Portal Integration提供了有关配置和操作处理的一些见解。

如果您正在寻找一种方法来处理两种请求类型而无需重用逻辑,只需通过发布或从应用程序界面获取提交方法:

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // Enter logic here
}