重温servlet②
重定向:我给服务器请求一条消息,服务器让我访问另外一个服务器(新的地址)。302状态码,并设置location头,完成重定向。两个请求。
|
package com.pcx.servlets;
import java.io.File; import java.io.FileInputStream; import java.io.IOException;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
/** * @author *测试io流 */ public /** * */ private
public throws ServletException, IOException { /** * 发送文字 */ // String s="hello Response"; // byte[] bytes=s.getBytes(); // // response.getOutputStream().write(bytes);
/** * 发送图片 */ String path ="D:/a.jpg"; FileInputStream in=new FileInputStream(new File(path)); byte[] bytes=IOUtils.toByteArray(in); response.getOutputStream().write(bytes); }
} |
|
public throws ServletException, IOException { /** * 设置重定向 * 1设置location 状态码 */ // response.setHeader("Location", "/zuoye/hello100.jsp"); // response.setStatus(302);
/** * 快捷的重定向 */ response.sendRedirect("http:www.baidu.com"); } |
Request
|
/* * 适用referer */ public throws ServletException, IOException { String referer=request.getHeader("Referer"); System.out.println(referer); if (referer==null||!(referer.contains("localhost"))) { System.out.println("hello"); }else { response.sendRedirect("http://www.baidu.com"); } } |
|
/** * @author *测试request的获取url */ public
public throws ServletException, IOException { response.getWriter().print(request.getScheme()+"<br/>");//获取请求协议 response.getWriter().print(request.getServerName()+"<br/>");//获取服务器的名称 response.getWriter().print(request.getServerPort()+"<br/>");//获取服务器的端口号 response.getWriter().print(request.getServletContext()+"<br/>");//获取项目名 response.getWriter().print(request.getServletPath()+"<br/>");//获取servlet的路径 response.getWriter().print(request.getQueryString()+"<br/>");//获取请求的参数 response.getWriter().print(request.getRequestURI()+"<br/>");//获取请求的uri response.getWriter().print(request.getRequestURL()+"<br/>");//获取请求的url }
} |
|
package com.pcx.servlets;
import java.io.IOException; import java.util.Arrays; import java.util.Enumeration; import java.util.Map;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
/** * @author 平常心cz *测试request获取请求参数 */ public class Fservlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println(request.getParameter("xxx")); System.out.println(request.getParameter("yyy")); }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); String[] hobbys=request.getParameterValues("hobby"); System.out.println(username+"\n"+password+"\n"+Arrays.toString(hobbys));
/** * 测试获取多个参数名称 */ Enumeration names=request.getAttributeNames(); while(names.hasMoreElements()){ System.out.println(names.nextElement()); }
/** * 获取所有的参数 并封装到map中 */ Map<String, String[]>map=request.getParameterMap(); System.out.println(map); for (String name : map.keySet()) { String [] values=map.get(name); System.out.println(name+"="+Arrays.toString(values)); } }
} |
重温servlet②的更多相关文章
- 重温Servlet学习笔记--session对象
session的类型是属于HttpSession,HttpSession是由javaWeb提供的,用来会话跟踪的类.session是服务器端对象,保存在服务器端. HttpSession是servle ...
- 重温Servlet学习笔记--Cookie对象
首先要了解cookie必须得先了解http协议,,Cookie是http协议指定的,先由服务器保存cookie到浏览器,在下次浏览器请求服务器时把上次请求得到的cookie归还给服务器,cookie以 ...
- 重温Servlet学习笔记--request对象
request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...
- 重温Servlet学习笔记--response对象
在用户浏览网页时,服务器对于客户端浏览器做出的响应被封装成一个HttpServletResponse对象,要对浏览器操作只需要操作这个response对象即可.response的功能分类及介绍: 响应 ...
- 重温Servlet学习笔记--servletContext对象
一个项目中只有一个ServletContext对象,我们可以在多个servlet中获取这个唯一的对象,使用它可以给多个servlet传递数据,我们通常成servletContext为上下文对象.这个对 ...
- 重温servlet③
请求转发 forward 仅有一个请求 至少两个servlet 前一个的响应头保留着,但是响应体不保留了. 设置响应体太大,会报错 请求包含Include 都包含,响应头和响应体都会保留着 R ...
- 重温servlet①
Servlet是单例的,是线程不安全的.比较灵活,但是容易会使两个线程产生错误 类由我们自己来写,对象由服务器生成,方法由服务器自己调用. 一个servletconfig对象对应着一段web.xm ...
- 重温Servlet学习笔记--编码问题
在说编码问题之前,首先先了解一下常见的字符编码: ISO-8859-1: 拉丁编码,不支持中文 gbk,gb2312,gb18030:系统默认编码,是中国的国标码 utf-8: 支持几乎所有语言的编 ...
- 重温 JSP 与 Servlet
Java Web使用SSH框架多了,很多基础的 JSP 与 Servlet 的东西都忘记了.最近在 JSP 标签 和 Struts2 包装的 Session 对象的混合使用时弄晕了,就翻书温习下. J ...
随机推荐
- BZOJ5369:[PKUSC2018]最大前缀和(状压DP)
Description 小C是一个算法竞赛爱好者,有一天小C遇到了一个非常难的问题:求一个序列的最大子段和. 但是小C并不会做这个题,于是小C决定把序列随机打乱,然后取序列的最大前缀和作为答案. 小C ...
- Metabase在Windows下的开发环境配置
Metabase在Windows下的开发环境配置 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} Metabase在Wind ...
- CentOS7.5搭建Flask环境python3.6+mysql+redis+virtualenv
wget安装环境装备 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncur ...
- java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)
同步SVN仓库中的代码,更新后,运行项目,出现如下错误: com.android.build.api.transform.TransformException: java.util.zip.ZipEx ...
- Kubernetes1.91(K8s)安装部署过程(一)--证书安装
安装前忠告:如果你用的是虚拟机,强烈不建议你使用克隆(链接克隆)的方式,至于完整克隆不知道有没有问题,每一台全新安装centos7系统最好. 一.安装前主题环境准备 1.docker安装 建议使用官网 ...
- Python2.7-hashlib
hashlib模块,实现了支持多种不同哈希算法的接口,不同 hash 算法的构造函数就是算法名,返回的哈希对象都具有相同接口.哈希算法不是加密算法,所以下面提到的加密不是真的加密,因为真的加密需要能够 ...
- Mac下Qt的环境搭建
1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Q ...
- day70
昨日回顾:1 虚拟环境 -1 pycharm里创建 -2 用命令串讲2 视图层: 1 Request对象---GET,POST,method,body,FILES,META,path(只是路径),ge ...
- c# C#获取屏幕鼠标坐标点颜色
[DllImport("user32.dll")] private static extern IntPtr GetDC(IntPtr hwnd); [DllImport(&quo ...
- WPF编程,将控件所呈现的内容保存成图像的一种方法。
原文:WPF编程,将控件所呈现的内容保存成图像的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/detai ...