response request 笔记

来源:互联网 发布:过期备案域名 编辑:程序博客网 时间:2024/05/18 17:04

控制浏览器浏览器用什么编码打开 :

       

response.setContentType("text/html;charset=UTF-8");

 

设置servlet编码:

     

  response.setCharacterEncoding("UTF-8");

 

控制浏览器浏览器每3 秒刷新一次:

      

 response.setHeader("refresh","3;/DemoServlet//servlet/ResponseDemo4");

 

控制浏览器保存当前页面到缓存24小时:

       

response.setDateHeader("expires",System.currentTimeMillis() + 1000*3600);

 

请求重定向(跳到另一个网页):

//1. 浏览器回想服务器发送两次,意味着就有2个request\response

//2. 用冲顶喜爱那个技术,浏览器地址栏会发生变化

//用户登录和现实购物车时,通常会用到重定向技术

      

 response.sendRedirect("/DemoServlet/index.jsp");

 

文件下载:

       

public void doGet(HttpServletRequestrequest, HttpServletResponse response)                     throws ServletException,IOException {              String path =this.getServletContext().getRealPath("/download/图片.jpg");              String filename =path.substring(path.lastIndexOf("\\")+1);              //如果下载文件的文件名是中文 要用 url编码              response.setHeader("content-disposition","attachment;filename="+URLEncoder.encode(filename,"UTF-8"));              InputStream in =null;              OutputStream out = null;              in = new FileInputStream(path);              int len = 0;              byte buffer[] = new byte[1024];              out = response.getOutputStream();              while((len =in.read(buffer))>0){                     out.write(buffer,0,len);              }

 

 

得到servletContext的方式1:

       

ServletContext context =this.getServletConfig().getServletContext();

             

得到servletContext的方式2:

       

ServletContext context =this.getServletContext();

 

通过servletContext的getRealPath得到绝对路径后:      

String path =this.getServletContext().getRealPath("db.properties");


 

一个servlet转到另一个servlet:

       this.getServletContext().getRequestDispatcher("/DemoServlet/ResponseDemo2").forward(request,response);

·getOutputStream和getWriter方法分别用于得到输出二进制数据、输出文本数据的ServletOutputStream、Printwriter对象。

·getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法

·Servlet程序向ServletOutputStream或PrintWriter对喜爱那个中写入的数据将被Servlet引擎从response里面获取,Servlet引擎将这些数据当作响应消息的正文,然后再与响应状态和各响应头组合后输出到客户端。

·Servlet的service方法结束后,Servlet引擎将检查getWriter或getOutputStream方法返回的输出流对像是否已经调用过close方法,如果没有,Servlet引擎将调用close方法关闭该输出流对象。

Respons.getOutoutStream();   //不用自己关FileInputStream in …..              //需要自己关



Cookie:

         Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

 

Session:

         Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问无夫妻的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其他web资源时,其他web资源再从用户各自的session中取出数据为用户服务。



0 0
原创粉丝点击