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. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...
随机推荐
- 性能测试工具gperftools使用
https://blog.csdn.net/10km/article/details/83820080 https://blog.51cto.com/wulingdong/2043898 https: ...
- How To Install P4 Tutorials
安装一些依赖 sudo apt-get update sudo apt-get upgrade sudo apt-get install automake cmake libjudy-dev libp ...
- Ionic4.x 中的 UI 组件(UI Components) 日期组件
1.日期组件的基本使用 官方文档:https://ionicframework.com/docs/api/datetime 模板中: <ion-datetime display-format=& ...
- PorterDuffXfermode之PorterDuff.Mode.XOR入门学习
package com.loaderman.customviewdemo.view; import android.content.Context; import android.graphics.* ...
- 10--STL无序容器(Unordered Containers)
一:无序容器简介 Unordered Containers也是一种关联式容器.其中元素是分散,没有定性的排列(不是图中那样松散).其中元素可能在某一次操作后改变原来的位置. 哈希表的链地址法,更能表现 ...
- ireport如何拼接sql?
ireport如何拼接sql ireport如何拼接sql? 解决方法: 1.ireport的sql select * from emp as e $P!{whereSQL}; 2.java代码 ...
- CentOS7下配置Tomcat以APR模式+Tomcat Native运行
在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服务器的 ...
- 【Leetcode_easy】1108. Defanging an IP Address
problem 1108. Defanging an IP Address solution: class Solution { public: string defangIPaddr(string ...
- $(this).addClass('class').siblings('class').removeClass('class')的作用
$(this).addClass('class'):为当前元素添加'class'类(供选择器使用 - - ) $(this).siblings('class'):查找当前元素的所有类名为 " ...
- PC电脑端支付宝扫码付款出现编码错误提示原因
给这家公司做各大场景的支付 涉及到微信内置H5支付 其他浏览器唤醒微信客户端支付 PC扫码支付 和支付宝相应的支付,但今天进行PC扫码支付时遇到一些编码问题,流程能走通. 调试错误,请回到请求来源地, ...