Java中的HttpServletRequest接口详细解读
作者:Husky_DQ
这篇文章主要介绍了Java中的HttpServletRequest接口详细解读,是一个接口,全限定名称为Jakarta.Serclet.http.HttpServletRequest
HttpServletRequest接口是Servlet规范的一员,需要的朋友可以参考下
HttpServletRequest接口是Servlet规范的一员,需要的朋友可以参考下
HttpServletRequest接口
- 是一个接口,全限定名称为Jakarta.Serclet.http.HttpServletRequest
- HttpServletRequest接口是Servlet规范的一员
- HttpServletRequst接口的父接口是:ServletRequest
- HttpServletRequest的实现类是Tomcat实现的
- HttpServletRequest对象是Tomcat创建的
- HttpServletRequest对象中包装的信息
- HttpServletRequest封装了Http的请求协议
- Tomcat将用户请求的Http协议中的信息解析出来封装到HttpServletRequest对象中
- javaweb程序员面向接口编程,调用方法卡可以获取到请求的信息
- request与response的生命周期
- request对象和response对象,一个请求对象,一个响应对象
- 一次请求对应一个request
- HttpServletRequest采用方法
- 获取前端用户提交的数据
String getParameter(String name)//获取Map Map<Sring String[]> getParameterMap()//获取Map集合中所有的key Enumeration<String> getParameterNames()//根据key获取Map集合的value String[] getParameterValues(java.lang.String name)//获取value这个一维数组的第一个元素(最常用) //以上方法与获取用户提交的数据有关系
- request对象也叫做请求域对象
- 应用域对象ServletContext(Servlet上下文对象)
- 往应用域中绑定数据的情况
- 所有用户共享的属于
- 共享的数据量小
- 这个共享的数据很少的修改操作
- 使用应用域对象可以大大提高程序执行效率
- 实际上往应用域添加数据就是将数据放进缓存当中,用户访问时直接在缓存中读取。减少IO操作,大大提升系统的性能,缓存技术是提高系统性能的重要手段
- ServletRequest有三个操作域的方法
void setAttribute(String name,Object obj);//绑定数据 Object getAttribute(String name);//从域当中根据name获取数据 void removeAttribute(String name);//从域当中将绑定的数据移除 //以上操作类似于Map集合的操作 Map<String,Object> map; map.put("name",obj); Object obj=map.get("name"); map.remove("name");
ServletRequest里的资源是不共享的,范围比较小
ServletContext与Request的选取原则: 范围小的优先
- 请求转发机制(一次启动两个Servlet)
- 获取请求转发器对象,将需要跳转的资源的路径告知给Tomcat服务器
RequestDispatcher dispatcher=request.getRequestDispatcher("路径");
- 调用请求转发器RequestDispatcher方法,参数必须传递给下一个资源
dispatcher.forward(request,response);
- 两个Servlet共享数据
- ServletContext范围太大,太占用资源
- 可以放到Request请求域中,然后转发即可
- 转发的下一个资源不一定是Servlet
- Tomcat的合法资源即可,例如html
- 转发的时候,路径以"/"开始,不加项目名
- HttpServletRequest接口常用方法
//获取客户端的IP地址 String remoteAddr=request.getRemoteAddr(); //get请求在请求行上提交数据 //post请求在请求体中提交数据 //设置请求体的的字符集(解决post请求的乱码问题) request.setCharacterEncoding("UTF-8"); //获取应用的根路径 String contextPath=request.getContextPath(); //获取请求方式 String method=request.getMethod(); //获取请求的URI String uri=request.getRequestURI(); //获取servlet路径 String servletPath=request.getServletPath();
到此这篇关于Java中的HttpServletRequest接口详细解读的文章就介绍到这了,更多相关HttpServletRequest接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!