Servlet Dispatcher URL

时间:2015-11-20 10:54:12

标签: java url servlets

我提交表单以插入数据时遇到问题 URL无法更改,刷新后,数据重新插入

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String _1 = request.getParameter("company_name").toString();
    String _2 = request.getParameter("city").toString();
    String _3 = request.getParameter("state").toString();
    String _4 = request.getParameter("zipcode").toString();
    String _5 = request.getParameter("branch").toString();
    String _6 = request.getParameter("address").toString();
    Database db = (Database) getServletContext().getAttribute("db");
    try {
        String sql = "insert into company(company_name,city,state,zipcode,branch,company_address) values('"+_1+"','"+_2+"','"+_3+"','"+_4+"','"+_5+"','"+_6+"')";
        db.updateSql(sql);
    } catch (Exception e2) {
        System.out.println(e2);
    }
    getServletContext().getRequestDispatcher("/company.jsp").forward(request, response);
}

1 个答案:

答案 0 :(得分:0)

您的问题来自对forward方法的理解。

此方法将请求和响应对象传输到新URL。它对于客户端的浏览器是不可见的,因此URL保持不变。通过重新加载页面,您可以重复申请,以便再次发送数据。

这种行为完全正常。如果您想重定向到另一个网址并有另一个请求,那么您应该使用sendRedirect方法。

请参阅此post以获得两种方法的完整说明。