我提交表单以插入数据时遇到问题 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);
}
答案 0 :(得分:0)
您的问题来自对forward
方法的理解。
此方法将请求和响应对象传输到新URL。它对于客户端的浏览器是不可见的,因此URL保持不变。通过重新加载页面,您可以重复申请,以便再次发送数据。
这种行为完全正常。如果您想重定向到另一个网址并有另一个请求,那么您应该使用sendRedirect
方法。
请参阅此post以获得两种方法的完整说明。