笔记--servlet基础复习2
来源:互联网 发布:宝贝上淘宝首页 编辑:程序博客网 时间:2024/05/22 08:43
/**response对象*想要获取客户端的内容,使用request对象,对客户端做出响应使用response对象*响应:*响应行*状态码:void setStatus(int sc) 设置状态码*响应头*设置头信息*void setHeader(name,value);*eg:setHeader("aa","bb") aa:bb*void setIntHeader(name,value);*void setDateHeader(name,value);int value是秒,long value是毫秒*void addHeader(name,value);*eg:setHeader("aa","cc"); aa:bb,cc,即add是追加。*响应体*ServletOutputStream getOutputStream() 字节输出流*PrintWriter getWriter() 字符输出流*案例:*重定向:状态码302 响应头location *登录页面重定向// 设置302的状态码response.setStatus(302);// 设置地址response.setHeader("location", "/day10/response/login.html");// response对象提供了一个方法,可以完成重定向。response.sendRedirect("/day10/response/login.html");*页面定时刷新*refresh *禁用浏览器缓存*应用:网银,页面的数据是发生变化的*Cache-Control : no-cache*Expires: -1值是日期类型(setDateHeader())*Pragma : no-cache*向页面输出中文*字节输出流:不一定会产生乱码*设置浏览器打开文件时采用的编码 response.setHeader("Content-type","text/html;charset=utf-8" );*获取字符串byte数组时编码和打开文件时编码一致*字符输出流:一定会产生乱码,因为response缓冲区编码,默认ISO-8859-1,这个编码方式不支持中文,所以一定乱码*解决:*设置response缓冲区编码 response.setCharacterEncoding("utf-8");*设置浏览器打开文件时的编码 response.setHeader("Content-type","text/html;charset=utf-8" );*简写,下面这一句等于上面的两句 response.setContentType("text/html;charset=utf-8");*输出 response.getWriter().write("大家好");*实现文件的下载*超链接,浏览器可以解析直接打开*弹出下载窗口*前提条件:先准备一个文件 通过输入流读取文件 通过response读出到浏览器端 设置头信息:Content-Disposition attachment;filename=文件名*以附件的形式打开*实现验证码*在内存中生产一张图片(画布)。*BufferedImage(width,height,imageType)*获取画笔*Graphics getGraphics()*随机生产数字或者字母的组合,但是数据是准备好的*随机生产四个字符 Math.Random类*通过画笔对象数据画到图片上*drawString()*画干扰线*drawLine()*需要把内存中的图片输出到客户端*ImafeIO.write()*request对象*ServletRequest|HttpServletReqsuest*获取客户机信息****getRemoteAddr 获取IP地址*用法:网上的游客用户投票,根据id判断是否投过票****getMethod() 获取请求方式****getContextPath() 获取虚拟路径(默认是项目名称)*getQueryString()(不常用) *获取请求头信息*String getHeader(name)*long getDateHeader(name)*int getIneHeader(name)*请求头:*referer 当前网页的来源*User-Agent 判断是什么浏览器*if-modified-since 控制缓存*获取请求参数*String getParameter(name)*String [] getParameterValues(name):复选框,可以选多个值*Map getParameterMap():*Enumeration getParameterNames():用得少*request中文乱码*post:*response.setCharacterEncoding("utf-8"); 设置request缓冲区的编码*但是必须在获取前端数据之前做这个操作,不然无效*get:*修改tomcat/conf/server.xml下面的服务器编码方式(不要轻易修改这个)*必须有修改服务器配置文件的权限*逆向编解码*username=URLEncoder.encode(username,"iso8859-1");*username=URLDecoder.decode(username,"utf-8");*简写形式,string构造方式*username=new String(username.getBytes("iso8859-1"),"utf-8");*利用请求域传递对象(request域对象)*域对象:ServletContext: request:一次请求的范围*getAttribute()*setAttribute()*removeAttribute()*重定向和转发的区别*getRequestDispatcher();返回的是一个RequestDispatcher对象*RequestDispatcher:*forward()*include()*1)转发:是在请求的资源没有的情况下,服务器内部帮你从其他地方找到资源,给予客户端响应, 期间客户端只发了一次请求(304)*2)重定向:是在请求的资源没有的情况下,服务器返回客户端一个信息,里面包含客户端需要资源的地址,然后客户端自行发起请求去寻找资源 期间客户端需要两次请求(302)*区别:*重定向两次请求,两次响应 转发一次请求,一次响应*重定向地址栏发生改变 转发地址栏没有发生改变*转发可以通过request传递数据 重定向不能使用request传递数据*重定向可以定向到其他系统 转发只能转到自己系统内部*/
阅读全文
0 0
- 笔记--servlet基础复习2
- HTTP Servlet基础 复习2
- Servlet和JSP知识复习(2)Servlet基础
- java基础复习笔记2
- SERVLET复习笔记(二)
- Servlet和JSP复习笔记
- Servlet和JSP复习笔记
- Servlet和JSP复习笔记
- 基础复习笔记--数据类型
- 基础复习笔记
- 复习java基础笔记
- python 基础复习笔记
- HTML基础复习笔记
- CSS基础复习笔记
- 前端基础复习笔记
- Java基础复习笔记
- [笔记] servlet基础理解
- Servlet开发基础笔记
- Centos下git push提示“error: The requested URL returned error: 403 Forbidden while accessing”
- 统计学习方法笔记:支持向量机之线性可分支持向量机与硬间间隔最大化
- Java实现栈Stack和队列Queue
- idea gulp打包
- 练习一 打印下列华氏温度与摄氏温度对照表
- 笔记--servlet基础复习2
- node+vue+MongoDB从构建项目到服务器部署
- PHP 正则表达式
- wireshark 捕捉过滤器和显示过滤器的区别 及各自的用法
- 依赖注入(DI)
- WOJ1402-Build Your Home
- linux中一些网络方面的基础知识
- 京东笔试 输出最短字符串
- Nginx服务器搭建和基本配置详解_nginx