专业做pc+手机网站,crm管理,深圳市顺建建设工程有限公司网站,网站排名怎么弄一、Request概述
1、request对象和response对象的原理
tomcat服务器会根据请求u1中的资源路径#xff0c;创建对应的ServletDemo1对象tomcat 服务器#xff0c;会创建request对象和response对象#xff0c;request对象中封装请求消息数据tomcat将request和response两个对象…一、Request概述
1、request对象和response对象的原理
tomcat服务器会根据请求u1中的资源路径创建对应的ServletDemo1对象tomcat 服务器会创建request对象和response对象request对象中封装请求消息数据tomcat将request和response两个对象传递给service方法并调用service方法程序员可通过request对象获取请求消息数锯通过response对象设置响应消息数据服务器给浏览器做出响应之前会从response对象中拿程序员设置的响应消息数据
2、request对象继承体系结构
ServletRequest -- 接口| 继承
HttpServletRequest -- 接口| 实现
org.apache.catalina.connector.RequestFacade -- 类(tomcat)二、Request功能
1、获取请求消息数据
1请求行
请求行数据GET /day14/demo1?namezhangsan HTTP/1.1
获取请求方式 String getMethod()获取虚拟目录String getContextPath()获取Servlet路径String getServletPath()获取get方式请求参数String getQueryString()获取请求URIString getRequestURI()获取协议及版本String getProtocol()获取客户机的IP地址String getRemoteAddr()
2请求头
通过请求头的名称获取请求头的值String getHeader(String name)获取所有的请求头名称EnumerationString getHeaderNames()
3请求体
只有POST请求方式才有请求体 获取流对象 获取字符输入流BufferedReader getReader()获取字节输入流ServletInputStream getInputStream() 流对象中获取数据
2、通用方法
据参数名称获取参数值String getParameter(String name)根据参数名称获取参数值的数组String[] getParameterValues(String name)获取所有请求的参数名称EnumerationString getParameterNames()获取所有参数的map集合MapString,String[] getParameterMap()
3、中文乱码问题
在获取参数前设置request的编码request.setCharacterEncoding(utf-8);
三、请求转发
1、请求转发步骤
1通过request对象获取请求转发器对象
RequestDispatcher getRequestDispatcher(String path)
2使用RequestDispatcher对象来进行转发:
forward(ServletRequest request, ServletResponse response)
2、请求转发特点
浏览器地址栏路径不发生变化只能转发到当前服务器内部资源中转发是一次请求
四、共享数据
1、共享数据概述
域对象一个有作用范围的对象可以在范围内共享数据request域代表一次请求的范围一般用于请求转发的多个资源中共享数据
2、共享数据方法
存储数据void setAttribute(String name,Object obj)通过键获取值Object getAttribute(String name)通过键移除键值对void removeAttribute(String name)
五、获取ServletContext
ServletContext getServletContext() 获取ServletContext
六、BeanUtils工具类
1、JavaBean
标准的Java类用于封装JavaBean
要求 类必须被public修饰必须提供空参的构造器成员变量必须使用private修饰提供公共setter和getter方法 功能简化数据封装
2、概念
成员变量
属性setter和getter方法截取后的产物 例如getUsername() -- Username– username 3、方法
setProperty(Object,属性名,属性值)getProperty(Object,属性名)populate(Object obj , Map map)将map集合的键值对信息封装到对应的JavaBean对象中