HttpServletResponse和HttpServletRequest常见应用
来源:互联网 发布:淘宝买家花呗开通条件 编辑:程序博客网 时间:2024/06/05 14:51
HttpServletResponse
- 向客户端输出数据
//文本文件(字符)PrintWriter out = response.getWriter();out.println("hello world");//二进制文件(字节/字符)OutputStream os=response.getOutputStream();os.write("hello world".getBytes());
两个流不能同时使用,当回送字符时,PrintWriter效率更高一些,回送字节用OutputStream。
- 请求重定向
response.sendRedirect("/UserManager/LoginServlet");//"资源"//向下一个资源传递参数response.sendRedirect("/UserManager/MainFrame?uname="+username+"&pwd="+password);
注意当用sendRedirect传递参数时,只能传String
,不能传object
。此重定向会回到浏览器。
- 发送http响应头
response.setHeader("报头名","内容")//来设置回送response.setContentType("text/html;charset=utf-8")//设置回送内容样式response.setStatus()//设置状态码response.setCharacterEncoding("utf-8")
具体内容见上一篇文章 HTTP协议详解
Github地址:设置响应报头
- 文件下载
具体内容见上一篇文章 HTTP协议详解
Github地址:文件下载
HttpServletRequest
- 获取客户机请求头信息
//获取URLString URL=request.getRequestURL().toString();//获取URI,web名+资源名String URI=request.getRequestURI();//获取请求数据 URL?username=aa&pwd=123String queryString=request.getQueryString();//获取请求客户端IP地址String remoteAddr=request.getRemoteAddr();//获取web服务器IP地址String localAddr=request.getLocalAddr();//获取请求主机名(DNS注册),若无注册为IP地址String remoteHost=request.getRemoteHost();//获取web服务器主机名String localName=request.getLocalName();//获取客户机端口号int remotePort=request.getRemotePort();//获取web服务器端口号int localPort=request.getLocalPort();
具体代码请参考:
Github地址:获取客户机信息 request.getHeader("请求头名")
request.getHeaderNames()
可以获取所有Header头的名字
具体代码请参考:
Github地址:获取客户机信息
- 获取客户机请求参数(表单)
//接收参数String u=request.getParameter("username");//接收复选框String[] hobbies=request.getParameterValues("hobby");
具体代码请参考:
Github地址:获取请求参数
- 请求转向
//将参数传递给下一个页面request.setAttribute("u", username);request.getRequestDispatcher("/Servlet2").forward(request, response);//第二页面获取参数String username=(String) request.getAttribute("u");
请求转向和请求重定向的区别
1.请求重定向传递参数为response.sendRedirect("/UserManager/MainFrame?uname="+username+"&pwd="+password);
,只能传递String
,请求转向传递参数为request.setAttribute("u", username)
,key为String,value为object。
2.请求重定向可以转向该web应用之外的URL,而请求转向不能访问此web应用,因为其发生在服务器端,没有回到浏览器端。
3.请求转向地址栏显示第一次forward的URL,但数据为第二次的。
4.request.setAttribute("u", username)
把数据放在request域对象中,属性在一次请求中有效(请求未回到浏览器成为一次请求)。
具体代码请参考:
Github地址:登陆表单
Github地址:servlet1请求转向
Github地址:servlet2接收
- HttpServletResponse和HttpServletRequest常见应用
- HttpServletResponse 和 HttpServletRequest的应用场景
- HttpServletRequest和HttpServletResponse API
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest 和HttpServletResponse
- HttpServletResponse和HttpServletRequest详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest 和HttpServletResponse
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse
- HttpServletRequest和HttpServletResponse
- HttpServletRequest和HttpServletResponse
- HttpServletRequest 和 HttpServletResponse对象
- HttpServletRequest和HttpServletResponse详解
- 【Servlet】HttpServletRequest和HttpServletResponse
- JavaWeb:HttpServletResponse和HttpServletRequest
- shell函数|常用命令|重定向
- Android的内存泄漏和调试
- HTML5进阶(三)HBuilder实现软件自动升级(优化篇)
- TCP/IP入门(2)
- 杭电ACM2035人见人爱的A^B
- HttpServletResponse和HttpServletRequest常见应用
- 表分区建立以及删除.sql
- 日志搜集、过滤及推送处理框架logstash及fluentd总结
- Java Lambda表达式入门
- 移植代码到linux内核中大概流程
- Java中sleep()与wait()区别
- Silverlight 错误解决方案
- IOS中修改导航默认标题颜色、字体
- axis2 以 RPC的方式访问webservice