关于重定向页面和请求转发页面的区别


重定向页面resp.sendRedirect(forword)会有2次响应,重定向的页面无法通过req.getParameter("username")获取到表单信息

请求转发页面只进行一次响应可以获取响应表单元素req.getParameter("username")

forword="/xxx.jsp";
   RequestDispatcher rd= req.getRequestDispatcher(forword);
   rd.forward(req, resp);

 1 package com.iwb.servlet;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.servlet.RequestDispatcher;
 6 import javax.servlet.ServletException;
 7 import javax.servlet.http.HttpServlet;
 8 import javax.servlet.http.HttpServletRequest;
 9 import javax.servlet.http.HttpServletResponse;
10 
11 public class LoginServlet extends HttpServlet {
12 
13     /**
14      * 
15      */
16     private static final long serialVersionUID = 1L;
17 
18     /*@Override
19     protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
20         // TODO Auto-generated method stub
21         String userName=req.getParameter("uname");
22         String password=req.getParameter("upwd");
23         
24         System.out.println("用户名=>"+userName);
25         System.out.println("密码=>"+password);
26     }*/
27 
28     @Override
29     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
30         // TODO Auto-generated method stub
31         System.out.println("=======进入doGet方法========");
32         doPost(req,resp);
33     }
34 
35     @Override
36     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
37         // TODO Auto-generated method stub
38         System.out.println("=======进入doPost方法========");
39         String userName=req.getParameter("uname");
40         String password=req.getParameter("upwd");
41         
42         System.out.println("用户名=>"+userName);
43         System.out.println("密码=>"+password);
44         String forword=null;
45         if(userName.equals("iwb") && password.equals("iwb")){
46             //请求转发
47             forword="/success.jsp";
48             RequestDispatcher rd= req.getRequestDispatcher(forword);
49             rd.forward(req, resp);
50             //重定向
51             //resp.sendRedirect(req.getContextPath()+"/success.jsp");
52         }else{
53             //请求转发
54             forword="/error.jsp";
55             RequestDispatcher rd= req.getRequestDispatcher(forword);
56             rd.forward(req, resp);
57             //重定向
58             //resp.sendRedirect(req.getContextPath()+"/error.jsp");
59         }
60     }
61 
62 }
View Code

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM