03 HttpServletRequest_HttpServletResponse
private void getRequestLine(HttpServletRequest request,
HttpServletResponse response) {
//请求方式
String method = request.getMethod();
System.out.println(method);
//资源路径
String uri =request.getRequestURI();
String url=request.getRequestURL().toString();
System.out.println(uri);
System.out.println(url);
//请求参数字符串
String queryString =request.getQueryString();
System.out.println(queryString);
//协议及版本号
String protocol = request.getProtocol();
System.out.println(protocol);
String scheme = request.getScheme();
System.out.println(scheme); }
private void getRequestHead(HttpServletRequest request,
HttpServletResponse response) {
// 根据header的key获取其value
String user_agent = request.getHeader("User-Agent");
System.out.println(user_agent);
// 查询header所有的keyname
Enumeration<String> enu = request.getHeaderNames();
while (enu.hasMoreElements()) {
System.out.println(enu.nextElement());
}
}
private void getRequestBody(HttpServletRequest request,
HttpServletResponse response) throws IOException {
// 获取请求实体中的数据 // 请求实体中的数据有三种形式:
// 1.application/x-www-form-urlencoded
// 2.multipart/form-data
// 3.text/plain // 对于1、3
// getParameter() //无论post方式还是get方式都可以获取用户的请求数据
String value = request.getParameter("username");
System.out.println(value);
String coment = request.getParameter("coment");
System.out.println(coment); ServletInputStream in= request.getInputStream();
FileOutputStream out = new FileOutputStream(
"d:\\1.txt");
int len = 0;
byte[] flush = new byte[1024];
while ((len = in.read(flush)) != -1) {
out.write(flush, 0, len);
}
out.close();
in.close();
}
private void getIntenetInfo(HttpServletRequest request,
HttpServletResponse response) {
System.out.println("访问服务器的地址为:" + request.getRemoteAddr() + ":"
+ request.getRemotePort());
System.out.println("服务器的本地地址为:" + request.getLocalAddr() + ":"
+ request.getLocalPort());
} }
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 状态行
// 协议版本 http状态码 htt状态描述
// 应答头
// 响应实体 // 设置应答头
response.setHeader("content-type", "image/jpeg; charset=utf-8"); // 向用户输出字符数据
/*
* PrintWriter out = response.getWriter(); out.write("<h1>你好世界!</h1>");
* out.flush(); out.close();
*/ // 我们只能打开一个流为用户输出数据
FileInputStream in = new FileInputStream("D:\\1.jpg");
ServletOutputStream out = response.getOutputStream(); int len = 0;
byte[] flush = new byte[1024 * 1024];
while ((len = in.read(flush)) != -1) {
out.write(flush, 0, len);
} out.flush();
out.close();
in.close(); }
03 HttpServletRequest_HttpServletResponse的更多相关文章
- Android游戏开发实践(1)之NDK与JNI开发03
Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...
- Java多线程系列--“JUC锁”03之 公平锁(一)
概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40)一. tryAcqu ...
- iOS系列 基础篇 03 探究应用生命周期
iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...
- javaSE基础03
javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...
- UML大战需求分析——阅读笔记03
读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...
- 2016-1-28 图解HTTP(03)
6.2.5 非HTTP/1.1首部字段 不限于RFC2616中定义的47种首部字段,还有Cookie.Set-Cookie和Content-Disposition等在其他RFC中首部字段 ...
- ReactNative新手学习之路03真机调试
React Native新手入门03真机调试(iOS) 从设备访问开发服务器 在启用开发服务器的情况下,你可以快速的迭代修改应用,然后在设备上查看结果.这样做的前提是你的电脑和设备必须在同一个wifi ...
- 【三石jQuery视频教程】03.创建垂直时间表(Timeline)
视频地址:http://v.qq.com/page/g/i/o/g0150rvi6io.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...
- javascript基础03
javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...
随机推荐
- Entity Framework 一个表多个外键关联另外一张表的相同主键
一. 报错 异常:System.Data.Entity.Infrastructure.DbUpdateException: 更新条目时出错.有关详细信息,请参阅内部异常. ---> System ...
- Jenkins中插件下载失败的解决办法
插件下载失败原因:通过国外服务器下载镜像,有较高的失败率,某些插件下载失败或者中断会引起其他有依赖关系的插件也下载失败 解决方案:1. 使用VPN.2. Jenkins镜像地址改为国内镜像地址:系统管 ...
- Cesium入门-1-展示一个地球
Cesium 官网教程地址 https://cesium.com/docs/tutorials/getting-started//tutorials/getting-started/ 第一个程序代码: ...
- 咏南中间件D7客户端演示
咏南中间件D7客户端演示 咏南中间件MORMOT(http.sys)支持D6.D7等老版本开发客户端.客户端使用TClientDataSet内存表控件,数据序列使用TynSerial类.
- 使用notepad++插件远程编辑linux下的配置文件
目录 1.安装插件管理器(Plugin Manager) 2.安装NppFTP 3.使用nppFTP连接远程linux服务器 1.安装插件管理器(Plugin Manager) 如果没有则需要安装 3 ...
- Java同步数据结构之ConcurrentHashMap
前言 这是Java并发包最后一个集合框架的数据结构,其复杂程度也较以往任何数据结构复杂的多,顾名思义ConcurrentHashMap是线程安全版本的HashMap,总所周知HashMap是非线程安全 ...
- LC 918. Maximum Sum Circular Subarray
Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ...
- 【精华】PHP网站验证码不显示的终结解决方案
PHP网站验证码不显示,这个是个很基础的PHP问题了,不过有点时候会比较让开发者比较头疼了.很多解决方案仅仅考虑到gd2,却忽略了另外一个很重要的因素了,相信在了解本教程之后,验证码不显示基本上就不算 ...
- word 2010中设置默认粘贴为 只保留文本粘贴【visio也适用于快捷键方式】
VISIO也适用如下方式: 3. 当然也可以直接是 Ctrl + Alt + V打开选择性粘贴选项卡 来选择其中某项来粘贴也是可以的 转: word 2010中设置默认粘贴为 只保留文本粘贴 2012 ...
- Win10使用mysqldump导出csv文件及期间遇到的问题
作为测试,我们这里使用了名为testdb的数据库中的名为test_table的表,首先我们使用如下SQL来查看其中有何数据: select * from testdb.test_table 数据如下: ...