javaweb学习之路(2)response
写一个简单的登录页面
1.创建一个login.jsp文件
主要内容:
<form action="check.jsp" method="post">
用户名:<input type="text" name="uname"><br/>
密码:<input type="password" name="upwd"><br/>
<input type="submit" value="登录"><br/>
</form>
2.创建一个check.jsp文件
检查用户名和密码是否正确,正确跳转到成功界面,否则输出“用户名或者密码错误”
主要代码:
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
String pwd = request.getParameter("upwd");
if(name.equals("mwf")&&pwd.equals("123456")){
//response.sendRedirect("success.jsp");
//重定向,数据丢失
request.getRequestDispatcher("success.jsp").forward(request, response);
//请求转发
}
else{
out.print("用户名或密码错误!");
}
%>
3.创建一个success.jsp文件
用来输出登陆者的用户名
登录成功!<br/>
欢迎你:
<%
String name = request.getParameter("uname") ;
out.print(name) ;
%>
4.实验效果


总结:
1.当使用response.sendRedirect("success.jsp");的时候页面会跳转到success.jsp,会发生数据丢失的现象,出来的用户名为null,重定向数据丢失;
原因是:sendRedirect()会新建request对象,所以request中的数据会丢失。
当使用request.getRequestDispatcher("success.jsp").forward(request, response);的时候,页面地址还是会在check.jsp的地址,但是内容是success.jsp的内容,这种叫做请求转发,内容正常显示。
2.response :响应对象提供的几种方法:
void addCookie( Cookie cookie ); 服务端向客户端增加cookie对象
void sendRedirect(String location ) throws IOException; :页面跳转的一种方式(重定向)
void setContetType(String type):设置服务端响应的编码(设置服务端的contentType类型)
有不足的地方欢迎交流指正,感谢阅读!
javaweb学习之路(2)response的更多相关文章
- Javaweb学习笔记4—Reuest&Response
今天来讲javaweb的第四段学习. Request和Response还是比较重要的 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣 ...
- JavaWeb学习笔记四 request&response
HttpServletResponse 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应res ...
- JavaWeb学习篇之----容器Response详解
今天在来看一下Response容器的相关知识,其实这篇blog早就应该编写了,只是最近有点忙,所以被中断了.下面我们就来看一下Response容器的相关知识吧.Response和我们即将在后面说到的R ...
- javaweb学习之路(1)request
1.本次练习写一个简单的注册页面 准备工作:首先搭建好服务器tomcat环境,使用的编译软件是eclipse 2.在eclipse中创建一个web工程 3.在webContent文件夹下创建一个reg ...
- javaweb学习之路(3)Cookie
1.Cookies的原理 1)首先浏览器向服务器发出请求. 2)服务器就会根据需要生成一个Cookie对象,并且把数据保存在该对象内. 3)然后把该Cookie对象放在响应头,一并发送回浏览器. 4) ...
- JavaWeb学习笔记总结 目录篇
JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...
- RPC远程过程调用学习之路(一):用最原始代码还原PRC框架
RPC: Remote Procedure Call 远程过程调用,即业务的具体实现不是在自己系统中,需要从其他系统中进行调用实现,所以在系统间进行数据交互时经常使用. rpc的实现方式有很多,可以通 ...
- Webwork 学习之路【06】Action 调用
一路走来,终于要开始 webwork 核心业务类的总结,webwork 通过对客户端传递的 web 参数重新包装,进行执行业务 Action 类,并反馈执行结果,本篇源码分析对应下图 WebWork ...
- JavaWeb学习总结-04 Servlet 学习和使用
一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...
随机推荐
- [php] phpStudy+XDebug配置
一.配置前说明: 1.phpStudy集成了XDebug扩展,所以不用单独下载XDebug. 2.打开XDebug扩展:其它选项菜单 > PHP扩展 > Xdebug 二.配置步骤: ph ...
- 设计模式-原型模式(Prototype)【重点:浅复制与深复制】
讲故事 最近重温了一下星爷的<唐伯虎点秋香>,依然让我捧腹不已,幻想着要是我也能有一名秋香如此的侍女,夫复何求呀,带着这个美好的幻想沉沉睡去... 突然想到,我是一名程序猿呀,想要什么对象 ...
- Go语言 2019 调查报告发布
Go 官方博客昨日公布了[ 2019 年 Go 语言调查报告].本次调查收到的回复达到 10,975 份,约为去年的两倍. 这些受访者的反馈意见将被选取用于改进 Go 语言的发展. 以下是 2019 ...
- 进制之间转换——day_01
一.计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1B = 8b #一个字节等于8位 简写 1Byte = 8 bit 1KB = 1024B 1MB = 1024KB 1G ...
- Metasploit学习笔记(一)
1.更新 apt-get update:更新源 apt-get upgrade:更新软件包 apt-get dist-upgrade:升级系统 2. Metasploit基础 2.1专业名词 Auxi ...
- 微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]
先贴上代码: public function index() { $code = input('get.code'); $tool = new Wxtool(); if (empty($code)) ...
- 【转载】pyinstaller的使用和几个坑
1.-w是不显示命令窗口, -i 图标文件的路径 这是改变图标的,但是我发现只能改变任务栏里的和命令窗口的图标,并不能改变exe文件的图标.另外这些参数要加载pyinstaller和路径中间. 2 ...
- 如何优雅的维护 K8S Worker 节点
前言 正常维护工作节点的流程 当我们要进行 K8S 节点维护时往往需要执行 kubectl drain, 等待节点上的 Pod 被驱逐后再进行维护动作. 命令行如下: kubectl drain NO ...
- dotnetcore配置框架简介
一.前言 配置的本质就是字符串的键值对,微软的一系列接口其实就是对这些键值对字符串的抽象. 二.基本类型 2.1.Nuget包 Microsoft.Extensions.Configuration.A ...
- 数学--数论--HDU 12151七夕节 Plus (因子和线性筛)
Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...