首页 > 编程知识 正文

创建一个request对象(request对象常用方法)

时间:2023-05-03 07:11:06 阅读:68354 作者:4300

Request对象及其方法:

1.request对象和response对象的原理 1.request和response对象是由服务器创建的,我们来使用 2.request对象是来获取请求消息,response对象是来设置响应消息2.request对象继承体系结构: org.apache.catalina.connector.RequestFacade类(tomcat实现的类) implements HttpServletRequest(接口) extends ServletRequest(接口)3.request功能:获取请求消息 1.获取请求消息数据: 1.获取请求行数据: GET /day14/demo1?name=zhangsan HTTP/1.1 方法: 1.获取请求方式:GET String getMethod() 2.(重要)获取虚拟目录:/day14 String getContextPath() 3.获取Servlet路径(资源路径):/demo1 String getServletPath() 4.获取get方式请求参数:name=zhangsan String getQueryString() 5.(重要)获取请求URI:/day14/demo1 String getRequestURI() /day14/demo1 StringBuffer getRequestURL() http://localhost/day14/demo1 URL:统一资源定位符:http://localhost/day14/demo1 URI:统一资源标识符:/day14/demo1 URL范围 < URI范围 6.获取协议及版本:HTTP/1.1 String getProtocol() 7.获取客户机的IP地址: String getRemoteAddr() 2.获取请求头数据 方法: String getHeader(String name) 通过请求头的名称获取请求头的值 Enumeration<String> getHeaderNames() 获取所有的请求头名称 3.获取请求体数据[POST请求方式] 请求体:只有POST请求方式,才有请求体,在请求体中封装了POST请求的请求参数 步骤: 1.获取流对象 BufferedReader getReader():获取字符输入流,只能操作字符数据 ServletInputStream getInputStream():获取字节输入流,可以操作所有类型数据 2.从流对象中拿数据(IO流操作) 2.其他功能: 1.获取请求参数通用方法 1.(常用)String getParameter(String name):根据参数名称获取参数值 username=zhangsan 2.String[] getParameterValues(String name):根据参数名称获取参数值的数组 hobby=xxx&hobby=xxx 3.Enumeration<String> getParameterNames():获取所有请求的参数名称 4.(常用)Map<String, String[]> getParameterMap():获取所有参数的map集合 中文乱码问题[获取请求参数]: get方式:tomcat8已经将get方式乱码问题解决 post方式:会乱码 解决:在获取参数前,设置request的编码 request.setCharacterEncoding("对应网页的编码") 对应网页的编码---> <meta charset="UTF-8"> 2.请求转发:一种在服务器内部的资源跳转方式 1.步骤: 1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path) 2.使用RequestDispatcher对象调用forward进行转发:forward(ServletRequest request, ServletResponse response) 2.特点 1.浏览器地址栏路径不发生变化 2.只能转发到当前服务器内部资源中 3.转发是一次请求 3.共享数据 域对象:一个有作用范围的对象,可以在范围内共享数据 request域:代表仅一次请求的范围,一般用于请求转发的多个资源中共享数据 方法 1.void setAttribute(String name, Object obj):存储数据 2.Object getAttribute(String name):通过键获取值 3.void removeAttribute(String name):通过键移出值 4.获取ServletContext ServletContext getServletContext()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。