Request和response

HttpServletRequest获取提交的数据

Resquest为服务器拿到的客服端提交的数据

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String name = (String) headerNames.nextElement();
String value = request.getHeader(name);
System.out.println(name + “=” + value);
}
System.out.println("----------------------------------------");
// 使用Map集合,打印键值对
Map<String, String[]> Map = request.getParameterMap();
Set keySet = Map.keySet();
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
String key = (String) iterator.next();
String h = Map.get(key)[0];
System.out.println(key + “----” + h);
}
}

解决中文乱码问题

String username = new String(name.getBytes(“IOS-8859-1”) , “UTF-8”);
System.out.println("username: " + username + "----password: " + value);

可以直接在tomcat里设置,编码啊格式为UTF-8
在server.xml中,Connector后加上URIEncoding=“UTF-8”

post方式:在getparameter 之前运行
request.setCharaterEncoding(“UTF-8”);

网页响应内容可显示中文

response.setContentType(“text/html;charset=UTF-8”);

HttpServletResponse

Response 为服务器响应给客户端的数据

// 以字符流的方式写数据
response.getWriter().write("< h1>hello response…");
//以字符流的方式写数据
response.getOutputStream().write("< h1>hello response 2222".getBytes() );

解决中文乱码

//解决中文乱码
response.setContentType(“text/html;charset=UTF-8”);

用HttpServletResponse下载文件

//1.获取要下载的文件名字
String fileName = request.getParameter(“filename”);
//2.获取这个文件在tomcat里的绝对路径地址
String path = getServletContext().getRealPath(“download/”+fileName);
//3.浏览器在收到这份资源的时候,以下载的方式提醒用户,而不是直接显示
response.setHeader(“Content-Disposition”, “attachment; filename=” + fileName)
//4.转换成输入流
InputStream is = new FileInputStream(path);
OutputStream os = response.getOutputStream()
int len = 0;
byte[]buffer = new byte[1024];
while((len=is.read(buffer))!=-1) {
os.write(buffer,0,len);
}
os.close();
is.close();

ServletContext

作用:
1. 获取全局参数
2. 获取工程里的资源
3. 资源共享。

ServletContext为域对象,只有一个,服务器启动的时候给每一个应用都创建一个ServletContext对象,服务器关闭的时候销毁。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值