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代码
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>登陆页面</title>
- </head>
- <body>
- <h2>登陆页面</h2>
- <%
- String errorCode =(String)request.getAttribute("error");//request.getParameter("error");
- if(errorCode != null && ! "".equals("error") && "01".equals(errorCode)){
- %>
- <h3 style="color:red">用户名或密码错误!</h3>
- <%
- }
- %>
- <form action="login.jsp" method="post">
- <p>用户名:<input type="text" name = "userName" /><br/></p>
- <p>密 码:<input type="password" name ="userPwd" /><br/></p>
- <p><input type = "submit" value = "登陆" /><br/></p>
- </form>
- <a href="reg.jsp">注册新用户</a>
- </body>
- </html>
Jsp代码
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>登陆页面</title>
- </head>
- <body>
- <%
- String name = request.getParameter("userName");
- String pwd = request.getParameter("userPwd");
- if("shamuu".equals(name) && "123".equals(pwd)){
- %>
- <h3 style="color:red;">欢迎你!<%=name %></h3>
- <%
- }else{
- //response.sendRedirect("index.jsp?error=01");
- request.setAttribute("error","01");
- request.getRequestDispatcher("index.jsp").forward(request,response);
- }
- %>
- </body>
- </html>
jsp中 response和request区别的更多相关文章
- JSP中pageEncoding和charset区别,中文乱码解决方案(转载)
转载自:JSP中pageEncoding和charset区别,中文乱码解决方案 JSP指令标签中<%@ page contentType="text/html;charset=GB23 ...
- Servlet中response、request乱码问题解决
Java Web(二) Servlet中response.request乱码问题解决 三月不减肥,五月徒伤悲,这就是我现在的状态,哈哈~ 健身.博客坚持. --WH 一.request请求参数出现 ...
- Java Web之Servlet中response、request乱码问题解决
Java Web之Servlet中response.request乱码问题解决 一.request请求参数出现的乱码问题 get请求: get请求的参数是在url后面提交过来的,也就是在请求行中, ...
- JSP 中 pageEncoding 和 charset 区别以及中文乱码解决方案
一.JSP 中 pageEndcodeing 和 charset 的作用 <%@ page contentType="text/html;charset=GB2312"%&g ...
- JSP中getParameter和getAttribute区别
(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法 (2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter ...
- JSP中page、request、session、application作用域的使用
几乎所有的Web开发语言都支持Session功能,Servlet也不例外. Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的. 作用域分为四种,分别为: page ...
- 关于jsp中response.sendRedirect显示错误
今天在jsp中作判断时,当不同条件时利用response.sendRedirect(“url”)来转向不同的页面,首先是判断验证码,当错误时就转向错误页面:当正确时,才进行用户名和密码的判断,同样也r ...
- JSP中的:request.getScheme()+"://"+request.getServerName()+":"+request.getServer
String path = request.getContextPath(); String basePath = request.getScheme()+"://"+reque ...
- JSP中page,request,session,application四个域对象区别
page page指当前页面.只在一个jsp页面里有效 . page里的变量没法从index.jsp传递到test.jsp,只要页面跳转了,它们就不见了. pageContext 如果把变量放到pag ...
随机推荐
- java 14 -1 正则表达式
正则表达式:符合一定规则的字符串. 1.判断QQ号码是否正确的案例: public class RegexDemo2 { public static void main(String[] args) ...
- first root
题目给出一棵二叉树的中序和后序排列.求出它的先序排列[提示]通过对比二叉树的中序和后序排列,我们可以找出根节点及左右子树.同样的,也可以通过对比左子树的中序和后序排列,找出左子树的根节点…….可见,该 ...
- Android Studio系列教程一--下载和安装
原文链接:http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1/ 背景 相信大家对Android Studio已经不陌生 ...
- AndroidStudio出现“Plugin is too old, please update to a more recent”问题
可能原因: 你AS版本不够高....能够更新的话你更新试下,不能更新删了最新的sdk,不要下载4.4以上的版本 解决方法如下 第一种,最简单,但是不推荐这么做 将build.gradle 里的类似 c ...
- 13SpringMvc_限定某个业务控制方法,只允许GET或POST请求方式访问
这篇文章要实现的功能是:在一个Action中,有些业务方法只能是post提交上来的才能执行,有些方法是只能get提交上来的才能执行. 比如上篇文章中的UserAction.java(代码如下) pac ...
- [转]hadoop hdfs常用命令
FROM : http://www.2cto.com/database/201303/198460.html hadoop hdfs常用命令 hadoop常用命令: hadoop fs 查看H ...
- Android Studio介绍
参考资料:http://www.cnblogs.com/smyhvae/p/4390905.html 第一次使用Android Studio时你应该知道的一切配置 as是一种不错的开发Androi ...
- php基础27:文件写入
<?php //1.打开一个文件 /* 第一个参数:打开的文件,第二个参数表明模式,w只写 如果打开的文件已经有了,那么删除这个文件,重新创建 如果没有,直接创建 fopen返回的是资源类型re ...
- Openwrt 初探
最近想研究一下Openwrt,于是开始搭建openwrt环境,虽然现在没有现成的板子,但是 可以先编译起来. openwrt的特点是基于下载 -> patch -> 编译 的一个工作模式, ...
- SVN快速入门(TSVN)
作者: 北京群英汇信息技术有限公司 网址: http://www.ossxp.com/ 版本: 0.1-35 日期: 2011-07-05 10:51:59 版权信息: 目录 1 安装Tortoi ...