jsp中 response和request区别

1、response

属于重定向请求;

其地址栏的URL会改变;

会向服务器发送两次请求;

2、 request

属于请求转发;

其地址栏的URL不会改变;

向服务器发送一次请求;

举一个区分它们的简单实例:

A向B借钱:

第一种:用response。B没有钱,请求失败,但是B告诉A,C有钱。于是A再次向C借钱,C借给A,请求成功。

第二种:用request。B没有钱,但是B向C借钱然后给A,请求成功。这次A只发送了一次请求,他并不知道借的钱是C的。

用response方法是这样的:

response.sendRedirect( );

用resquest方法:

request.setAttribute("key","value");

request.getRequestDispatcher("index.jsp").forward(request,response);

这里的setAttribute传递的参数只能由request.getAttribute( )来接收。request.getAttribute( )方法返回值是object型,在使用时要注意类型转换。

写一段示例代码:

Jsp代码 jsp中 response和request区别

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  3. <html>  
  4. <head>  
  5. <base href="<%=basePath%>">  
  6. <title>登陆页面</title>  
  7. </head>  
  8. <body>  
  9. <h2>登陆页面</h2>  
  10. <%  
  11. String errorCode =(String)request.getAttribute("error");//request.getParameter("error");  
  12. if(errorCode != null && ! "".equals("error") && "01".equals(errorCode)){  
  13. %>  
  14. <h3 style="color:red">用户名或密码错误!</h3>  
  15. <%  
  16. }  
  17. %>  
  18. <form action="login.jsp" method="post">  
  19. <p>用户名:<input type="text" name = "userName" /><br/></p>  
  20. <p>密&nbsp;&nbsp;码:<input type="password" name ="userPwd"  /><br/></p>  
  21. <p><input type = "submit" value = "登陆" /><br/></p>  
  22. </form>  
  23. <a href="reg.jsp">注册新用户</a>  
  24. </body>  
  25. </html>

Jsp代码 jsp中 response和request区别

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  3. <html>  
  4. <head>  
  5. <title>登陆页面</title>  
  6. </head>  
  7. <body>  
  8. <%  
  9. String name = request.getParameter("userName");  
  10. String pwd = request.getParameter("userPwd");  
  11. if("shamuu".equals(name) && "123".equals(pwd)){  
  12. %>  
  13. <h3 style="color:red;">欢迎你!<%=name %></h3>  
  14. <%  
  15. }else{  
  16. //response.sendRedirect("index.jsp?error=01");  
  17. request.setAttribute("error","01");  
  18. request.getRequestDispatcher("index.jsp").forward(request,response);  
  19. }  
  20. %>  
  21. </body>  
  22. </html>
上一篇:运行预构建 Linux 映像的 Windows Azure 虚拟机中的交换空间 – 第 1 部分


下一篇:git以及git flow 的使用