Java中的HttpServletRequest接口详细解读
更新时间:2023年11月07日 09:30:50 作者: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接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot访问接口自动跳转login页面的问题及解决
这篇文章主要介绍了SpringBoot访问接口自动跳转login页面的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12Spring Boot中KafkaListener的介绍、原理和使用方法案例详解
本文介绍了Spring Boot中 @KafkaListener 注解的介绍、原理和使用方法,通过本文的介绍,我们希望读者能够更好地理解Spring Boot中 @KafkaListener 注解的使用方法,并在项目中更加灵活地应用2023-09-09SpringCloud Gateway 路由配置定位原理分析
本节主要了解系统中的谓词与配置的路由信息是如何进行初始化关联生成路由对象的。每个谓词工厂中的Config对象又是如何被解析配置的2021-07-07如何实现springboot中controller之间的相互调用
这篇文章主要介绍了实现springboot中controller之间的相互调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06
最新评论