在servlet跳转到jsp页面用request.getRequestDispatcher().forward(request, response);
发布网友
发布时间:2022-04-30 00:29
我来回答
共5个回答
热心网友
时间:2023-10-11 02:39
假如JSP页面为a.jsp,Servlet对应的URL为aServlet。
a.jsp中一定有表单,提交表单后会执行aServlet。也就是执行表单的action!可能你的servlet在执行完插入之后又转向到另一个jsp页面,也可能又回到a.jsp页面。这时你看看浏览器地址栏中的地址是a.jsp吗?这时你刷新是在请求aServlet!所以才会不断执行插入!
=======
如果servlet在插入完成之后,需要带给下一个jsp页面请求数据的话,那么你只能使用getRequestDispatcher(),如果不需要带给JSP页面请求数据,那么可以使用response.sendRedirect()跳转。
也可以在servlet中进行表单数据验证,如果数据为空,那么跳转到错误页面。
热心网友
时间:2023-10-11 02:40
这时候我刷新页面它就不断的插入,刷新一次就插入一次
表单重复提交,解决办法,可以设置一个变量,前台传过来,进行比较,如果一样,就不提交,如果不一样,就提交,
前台要是刷新,这个变量的值肯定是一样的,就不提交,就不会出现刷新页面它就不断的插入,刷新一次就插入一次了
热心网友
时间:2023-10-11 02:40
request.getRequestDispatcher().forward(request, response); 是请求转发,如果你把值保存到了session中,就会刷新一次,插入一条数据
热心网友
时间:2023-10-11 02:41
很容易!!你咋不会啊就把request.getRequestDispatcher().forward(request, response); 把他依到我的文档就OK黑KO了
热心网友
时间:2023-10-11 02:41
你去搜下令牌(token)这词,估计你就知道怎么解决了。