HttpServletResponse

来源:互联网 发布:艾默生网络能源被收购 编辑:程序博客网 时间:2024/06/03 19:32

微笑响应、解析编码

import java.io.FileInputStream;import java.io.IOException;import java.net.URLEncoder;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ServletDemo3 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//通过路径得到一个输入流String path = this.getServletContext().getRealPath("/WEB-INF/classes/美女.jpg");FileInputStream fis = new FileInputStream(path);//创建字节输出流ServletOutputStream sos = response.getOutputStream();//得到要下载的文件名String filename = path.substring(path.lastIndexOf("\\")+1);//设置文件名的编码filename = URLEncoder.encode(filename, "UTF-8");//将不安全的文件名改为UTF-8格式//告知客户端要下载文件response.setHeader("content-disposition", "attachment;filename="+filename);response.setHeader("content-type", "image/jpeg");//执行输出操作int len = 1;byte[] b = new byte[1024];while((len=fis.read(b))!=-1){sos.write(b,0,len);}sos.close();fis.close();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}

import java.io.IOException;  import java.io.PrintWriter;    import javax.servlet.ServletException;  import javax.servlet.ServletOutputStream;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;    public class ServletDemo2 extends HttpServlet {        public void doGet(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {                    response.setContentType("text/html;charset=UTF-8");                    ServletOutputStream sos = response.getOutputStream();          sos.write("你好123".getBytes("UTF-8"));//getBytes默认编码为本地编码(即:gbk)      }        public void doPost(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {          doGet(request, response);      }    }  
微笑文件下载
import java.io.FileInputStream;  import java.io.IOException;  import java.net.URLEncoder;    import javax.servlet.ServletException;  import javax.servlet.ServletOutputStream;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;    public class ServletDemo3 extends HttpServlet {        public void doGet(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {          //通过路径得到一个输入流          String path = this.getServletContext().getRealPath("/WEB-INF/classes/美女.jpg");          FileInputStream fis = new FileInputStream(path);          //创建字节输出流          ServletOutputStream sos = response.getOutputStream();                    //得到要下载的文件名          String filename = path.substring(path.lastIndexOf("\\")+1);                    //设置文件名的编码          filename = URLEncoder.encode(filename, "UTF-8");//将不安全的文件名改为UTF-8格式                    //告知客户端要下载文件          response.setHeader("content-disposition", "attachment;filename="+filename);          response.setHeader("content-type", "image/jpeg");                    //执行输出操作          int len = 1;          byte[] b = new byte[1024];          while((len=fis.read(b))!=-1){              sos.write(b,0,len);          }                    sos.close();          fis.close();      }        public void doPost(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {          doGet(request, response);      }    }  

微笑验证码

package com.itheima.servlet;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.dsna.util.images.ValidateCode;public class ServletDemo4 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//告诉客户端不使用缓存response.setHeader("pragma", "no-cache");response.setHeader("cache-control", "no-cache");response.setIntHeader("expires", 0);ValidateCode vc = new ValidateCode(110, 25, 4, 9);String code = vc.getCode();//得到生成的字符vc.write(response.getOutputStream());}private void test1(HttpServletResponse response) throws IOException {int width = 110;int height = 25;//在内存中创建一个图像对象BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);//创建一个画笔Graphics g = img.getGraphics();//给图片添加背景色g.setColor(Color.PINK);//设置一个颜色g.fillRect(1, 1, width-2, height-2);//填充颜色//给边框一个色g.setColor(Color.RED);g.drawRect(0, 0, width-1, height-1);//设置边框的显示坐标//设置文本样式g.setColor(Color.BLUE);g.setFont(new Font("宋体", Font.BOLD|Font.ITALIC, 15));//给图片添加文本Random rand = new Random();int position = 20;for (int i = 0; i < 4; i++) {g.drawString(rand.nextInt(10)+"", position, 20);//给图片填充文本position+=20;}//添加9条干扰线for (int i = 0; i < 9; i++) {g.drawLine(rand.nextInt(width), rand.nextInt(height), rand.nextInt(width), rand.nextInt(height));}//将图片对象以流的方式输出的客户端ImageIO.write(img, "jpg", response.getOutputStream());}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}


微笑刷新功能

package com.itheima.servlet;import java.io.IOException;import java.util.Random;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ServletDemo5 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");/*response.setIntHeader("refresh", 1);//设置1秒钟刷新一次Random r = new Random();response.getWriter().write(r.nextInt()+"");*/response.getWriter().write("注册成功!3秒钟跳到主页");//设置3秒钟跳转response.setHeader("refresh", "3;url=/day09_00_HttpServletResponse/servlet/demo6");}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}





0 0
原创粉丝点击