Day15 Request和Response的使用
Day_15 Request 和Response两种ServletContext的两个API读取web项目下的文件这两种读取文件的方法的前提是需要有ServletContext的对象, 第一种:getResourceAsStream() 返回的是一个流属性文件的三部曲必须记住 第二种:getRealPath() 获取磁盘的绝对路径什么是生命周期服务器启动时创建一个servlet实例,并且会执行init方法,服务器会创建一个新的线程,访问Service方法,根据不同的类型去执行不同的do方法,而且在服务器关闭的时,servlet对象会自动销毁, Servlet只创建一次 设置服务器初始化参数file://F:/JAVA%E8%AF%AD%E8%A8%80%E8%B5%84%E6%96%99/%E9%BB%91%E9%A9%AC%E4%BA%8C%E9%98%B6%E6%AE%B5_Web%E7%AC%94%E8%AE%B0/MyNoteBook/Day15%E6%88%AA%E5%9B%BE/15day2?lastModify=1526887396 file://F:/JAVA%E8%AF%AD%E8%A8%80%E8%B5%84%E6%96%99/%E9%BB%91%E9%A9%AC%E4%BA%8C%E9%98%B6%E6%AE%B5_Web%E7%AC%94%E8%AE%B0/MyNoteBook/Day15%E6%88%AA%E5%9B%BE/1526533745510.png?lastModify=1526887396 怎样避免代码的侵入性,来读取db.properties配置文件下载文件行 头: 体 响应头的设置 一个key对应多个value的头信息 一个key对应一个value的头信息
Reaponse输出响应内容的概述 响应时 两种流会冲突 解决向页面输出乱码的解决方式 file://F:/JAVA%E8%AF%AD%E8%A8%80%E8%B5%84%E6%96%99/%E9%BB%91%E9%A9%AC%E4%BA%8C%E9%98%B6%E6%AE%B5_Web%E7%AC%94%E8%AE%B0/MyNoteBook/Day15%E6%88%AA%E5%9B%BE/1401386348.bmp?lastModify=1526887396 注册页面的编写利用请求: 客户端信息:
getMethod(); 请求方式 getRemoteAddr(); ip getContextPath() ; 工程名
获得表单数据
getParameter(String name) 返回值 String getParameterValues(String name) 返回值 String[] getParameterMap(); 返回值 Map
如果要重载实例类的构造方法来封装数据时,我们必须要写无参构造解决Request在接收中文乱码的方式, 面试重点转发和重定向的区别
重定向
路径需要加工程名 任何有效的连接都能跳转 地址栏会发生变化,内容也跳转 两次请求,两次响应
转发
转发时不需要再加工程名 只能跳转到自己当前工程下的网页 地址栏不发生变化,只内容跳转 一次请求一次响应
重点区别:假如我们在 ForwarServlet的域中存一个数据request.setAttribute("name","娜扎") 那么跳转到ForwarServlet2中 通过重定向跳转,则ForwarServlet2中不能获取到name值 通过转发跳转时,则ForwarServlet2中能获取到name值
|