Request
1.request对象和response对象的原理:
1.request和response对象是由服务器创建的,我们来使用它们
2.request对象是来获取请求消息,response对象是来设置响应消息。
2.request对象继承体系结构:
3.request功能:
1.获取请求消息数据:
1.获取请求行消息
1.获取请求方式:Get
String getMethod()
2.获取虚拟目录:
String getContextPath()
3.获取servlet路径:
String getServletPath()
4.获取get方式请求参数
String getQueryString()
5.获取URI:
String getRequestURI()
StringBuffer getRequestURL()
*URL:统一资源定位符
*URI:统一资源标识符
6.获取协议及版本:
String getProtocol()
7.获取客户机的ip地址:
String getRemoteAddr()
2.获取请求头数据:
方法:
*String getHeader():通过请求头的名称获取请求头的值
3.获取请求体的数据:
*请求体:只有post请求方式,才有请求体,在请求体中封装了post请求的请求参数
*步骤:
1.获取流对象
1.BufferedReader getReader():获取字符输入流,只能操作字符数据
2.ServletInputStream getInputStream():获取字节输入流,可以操作所有类型数据
2.再从流对象中拿数据
2.其他功能:
1.获取请求参数通用方式:
1.getParameter(String name):根据参数名称获取参数值
2.String[ ] getParameterValues(String name):根据参数名称获取参数值的数组,多用于复选框
3.Enumeration<String> getParameterNames():获取所有请求的参数名称
4.Map <String,String[ ]> getParameterMap():获取所有参数的map集合
*中文乱码问题:
*get方式:tomcat8 已经将get方式乱码解决
*post方式:会乱码
*解决:reuquest.setcharacterEncoding(”utf-8“);
2.请求转发:一种在服务器内部的资源跳转方式
1.步骤:
1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher (String path)
2.使用RequestiDispatcher对象进行转发:forward();
2.特点:
1.浏览器地址栏不发生变化
2.只能访问当前服务器内部资源
3.转发是一次请求
3.共享数据
*域对象:一个有范围的对象,可以在范围内共享数据
*request:代表一次请求的范围,一般用于请求转发的多个资源中共享数据
*方法:
1.setAttribute(String ,Object);存储数据
2.getAttribute(String):获取值
3.removeAttribute(String):移除键值对
4.获取ServletContext
getServletContext();
*BeanUtils工具类,简化数据封装
*用于封装JavaBean的
1.JavaBean:标准的Java类
1.要求
1.类必须被public修饰
2.必须提供空参的构造器
3.成员变量必须使用private修饰
4.提供公共的setter和getter方法
2.功能:封装数据
2.概念:
成员变量:
属性:setter和getter方法截取后的产物
例如:getUsername()--> Username --> username
3.方法:
1.setProperty:设置JavaBean中成员变量的值
2.getProperty:获取JavaBean中成员变量的值
3.populate(Object obj ,Map map):将map集合的键值对信息,封装到对应的JavaBean对象中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!