java request.forward和response.redirect 区别

本文介绍了两种网页重定向的方法:服务器端重定向通过保留原始请求的状态和参数进行页面跳转;客户端重定向则涉及独立的请求过程,适用于URL参数传递。

1: request.getRequestDispatcher("/other/page.html?para=some").forward(ServletRequest, ServletResponse);

 

用于将请求在服务器端重定向至另一个页面,它会保留request里面的参数、状态等,而且客户端并不知道请求被重定向。

 

2: response.sendRedirect(request.getContextPath() + "/index.html");

 

用于告诉客户端重新发送请求至新的页面,两次请求独立,除了能在url上挂参数外,由于是两次独立请求,request和response也是独立的

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(Constant.CONTENTTYPE); request.setCharacterEncoding(Constant.CHARACTERENCODING); String date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); String date2=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); try{ String method=request.getParameter("method").trim(); ComBean cBean = new ComBean(); HttpSession session = request.getSession(); if(method.equals("one")){//用户登录 String username = request.getParameter("username"); String password = request.getParameter("password"); String sf = request.getParameter("sf"); String str=cBean.getString("select realname from admin where username='"+username+"' and password='"+password+"' and sf='"+sf+"' "); if(str==null){ request.setAttribute("message", "登录信息错误!"); request.getRequestDispatcher("index.jsp").forward(request, response); } else{ String ip=request.getRemoteAddr(); cBean.comUp("insert into rz(yh,sf,sj,ip) values('"+username+"','"+sf+"','"+date+"','"+ip+"')"); session.setAttribute("user", username); session.setAttribute("sf", sf); request.getRequestDispatcher("admin/index.jsp").forward(request, response); } } else if(method.equals("uppwd")){//修改密码 String username=(String)session.getAttribute("user"); String oldpwd = request.getParameter("oldpwd"); String newpwd = request.getParameter("newpwd"); String str=cBean.getString("select id from admin where username='"+username+"' and password='"+oldpwd+"'"); if(str==null){ request.setAttribute("message", "原始密码信息错误!"); request.getRequestDispatcher("admin/system/editpwd.jsp").forward(request, response); } else{ int flag=cBean.comUp("update admin set password='"+newpwd+"' where username='"+username+"'"); if(flag == Constant.SUCCESS){ request.setAttribute("message", "操作成功!"); request.getRequestDispatcher("admin/system/editpwd.jsp").forward(request, response); } else { request.setAttribute("message", "操作失败!"); request.getRequestDispatcher("admin/system/editpwd.jsp").forward(request, response); } } } else if(method.equals("adminexit")){//退出登录 session.removeAttribute("user"); session.removeAttribute("sf"); request.getRequestDispatcher("index.jsp").forward(request, response); }根据以上代码绘制出程序流图
最新发布
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值