首页 > 解决方案 > 如何将输入发送到 servlet 但不从动作发送?

问题描述

我有一个表单,用于将一些输入发布到一个站点,但我也想将它们发布到我的 servlet - 甚至可能吗?

我试图用提交按钮做一些事情,我的意思是用函数执行 onclick,但有些东西不能正常工作

            <input type="submit" value="value1" onclick="afterSubmit()"/>
...some inputs...
        </form>
            form=document.getElementById("${initParam['posturl']}";
            function afterSubmit() {
                form.action="http://localhost:8080/url/servlet";
            }
        </script>

我的小服务程序:

public class sendThis extends HttpServlet {

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

        PrintWriter out = response.getWriter();
        out.println(request.getParameter("item_name_1"));
    }
}```

So when I click on submit button and then go to localhost:8080/url/servlet, I get this error:

HTTP Status 405 – Method Not Allowed

Type Status Report
Message HTTP method GET is not supported by this URL
Description The method received in the request-line is known by the origin server but not supported by the target resource.

标签: formspostservletsaction

解决方案


doGet方法添加到您的 servlet 并处理请求:

protected void doGet(HttpServletRequest request,
            HttpServletResponse response)   throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println(request.getParameter("item_name_1"));
}

推荐阅读