当前位置: 首页 > news >正文

网站搭建崩溃装饰设计学校

网站搭建崩溃,装饰设计学校,热点新闻事件2023,网站意识形态建设请求和转发#xff1a; response说明一、response文件下载二、response验证码实现1.前置知识#xff1a;2.具体实现#xff1a;3.知识总结 三、response重定向四、request转发五、重定向和转发的区别 response说明 response是指HttpServletResponse,该响应有很多的应用 response说明一、response文件下载二、response验证码实现1.前置知识2.具体实现3.知识总结 三、response重定向四、request转发五、重定向和转发的区别 response说明 response是指HttpServletResponse,该响应有很多的应用比如像浏览器输出消息下载文件实现验证码等。 一、response文件下载 1.创建一个javaweb的项目。 2.实例类FileServlet的具体实现。 import java.net.URLEncoder; public class FileServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 1.获取要下载文件的路径 realPath:绝对路径String realPath E:\\Software\\IDEA\\javaweb-02-servlet\\response\\src\\main\\resources\\aa.webp;System.out.println(文件下载的路径: realPath); // 2.下载的文件名String fileName realPath.substring(realPath.lastIndexOf(\\) 1); // 3.设置浏览器能够支持下载我们需要的东西 // 如果想让网站能下载东西需要搜一个下载文件的一个头。 // resp.setHeader(Content-disposition, attachment;filename fileName);resp.setHeader(Content-disposition, attachment;filename URLEncoder.encode(fileName,UTF-8)); // 4.获取下载文件的输入流。FileInputStream fis new FileInputStream(realPath); // 5.创建缓冲区 // 6.获取OutputStream对象 // 7.将FileOutputStream流写入到缓冲区,使用OutputStream将缓冲区中的数据输出到客户端。ServletOutputStream oos resp.getOutputStream();byte[] buf new byte[1024];int len 0;while ((len fis.read(buf)) 0) {oos.write(buf, 0, len);}oos.close();fis.close();}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} } 3.配置web.xml文件及tomcat服务器。 4.启动服务。 5.回顾总结 (5.1思路分析 1.获取文件输入流2.获取web的响应的输出流3.将输入流写入到输出流进而发给客户端。 (5.2注意实项: 1.下载文件名 String fileName realPath.substring(realPath.lastIndexOf(\\) 1);- 2.下载文件的头resp.setHeader(Content-disposition, attachment;filename fileName);- 3.相关搜索二、response验证码实现 1.前置知识 下载文件需要一个响应头响应浏览器的类型是: resp.setHeader(Content-disposition, attachment;filename fileName);而图片验证码需要设置 发送到客户端的响应的内容类型 resp.setContentType(image/jpg); 以jsp的形式发送的图片类型。 此外也可以是png,jepg等形式。还需要设置每60s刷新一次: resp.setHeader(refresh,60);常见的内容类型 resp.setContentType(text/html); 以html的格式响应的文本类型即代表响应的是html页面。2.具体实现 import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.*; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random;public class ImageServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //如何让浏览器每60s自动刷新一次resp.setHeader(refresh,60);// 在内存中创建一个图片BufferedImage image new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB); // 得到图片Graphics2D g (Graphics2D) image.getGraphics();//笔来对图片进行操作 // 设置图片的背景颜色。---先选定颜色再添加一个填充的矩形。g.setColor(Color.WHITE);g.fillRect(0,0,80,20);// 给图片写数据g.setColor(Color.CYAN);g.setFont(new Font(null,Font.BOLD,20));g.drawString(makeNum(),0,20);// 告诉浏览器这个请求用图片的方式打开 // setContentType 设置发送到客户端的响应的内容类型resp.setContentType(image/jpg); //网站存在缓存不让浏览器去缓存 // setHeader设置响应头 // setDateHeader 是设置页面缓存的,防止 JSP或者Servlet中的输出 被浏览器保存在缓冲区中。resp.setDateHeader(Expires,-1);//在代理服务器端防止缓冲resp.setHeader(Cache-Control,no-cache);resp.setHeader(Pragma,no-cache);// 把图片写给浏览器ImageIO.write(image,jpg,resp.getOutputStream());}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}private String makeNum(){Random random new Random();String numrandom.nextInt(9999999);StringBuffer sb new StringBuffer();//变化的字符串。for (int i0;i7-num.length();i){sb.append(0);}numsb.toString()num;return num;} } 3.知识总结 (1)设置浏览器自动刷新。 (2)清除浏览器缓存。 (3)将图片写给浏览器。可以试试其他的内容比如音乐电影什么行不行 (4)设置客户端的响应内容形式为图片。 (5)内存中创建图片并通过画笔类进行操作。 (ImageIO是一个图片类专门写图片的。) (6)生成随机数。 画笔是如果要写文字要先选定颜色然后选定字体文本框在哪个位置开始写。 三、response重定向 如 resp.sendRedirect(/re/img1); 即 resp.sendRedirect(/项目映射名/跳转的页面的映射);也可以跳转到jsp页面。 实例代码 % page contentTypetext/html;charsetUTF-8 languagejava % html body h2Hello World!/h2 %--这里提交的路径 需要寻找到项目的路径--% form action${pageContext.request.contextPath}/login methodget用户名input typetext nameusername密码input typepassword namepasswordinput typesubmit /form /body /htmlpublic class RedirectServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // redirect 重定向resp.sendRedirect(/re/img1);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }四、request转发 request处理请求 HTTP请求中的所有信息被封装到HttpServletRequest对象通过该对象的方法可以获取客户端的所有信息。 主要的获取参数的两种方法 实例代码 % page contentTypetext/html;charsetUTF-8 languagejava % html headtitle登录/title /head body h1登录/h1 div styletext-align: center %--以post方式提交表单提交到我们的login请求--%form action${pageContext.request.contextPath}/login methodpost用户名input typetext nameusernamebr密码input typepassword namepasswordbr爱好input typecheckbox namehobbys value张三张三input typecheckbox namehobbys value李四李四input typecheckbox namehobbys value飞机飞机input typecheckbox namehobbys value蜘蛛蜘蛛brinput typesubmit/form /div /body /html import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Arrays;/****/ public class LoginServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding(UTF-8);resp.setCharacterEncoding(UTF-8);String username req.getParameter(username);String password req.getParameter(password);String[] hobbys req.getParameterValues(hobbys);System.out.println();System.out.println(username:password);System.out.println(Arrays.toString(hobbys));System.out.println(); //请求转发 req // /被解析成当前项目路径req.getRequestDispatcher(/success.jsp).forward(req,resp);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} } 五、重定向和转发的区别 相同点 页面都会实现跳转。 不同点 请求转发的时候url不会发生改变。 转发时 req.getRequestDispatcher(/success.jsp).forward(req,resp);重定向的时候url地址栏会发送改变。 重定向 resp.sendRedirect(/re/img1);
http://wiki.neutronadmin.com/news/114491/

相关文章:

  • 钓鱼网站制作视频教程最近时政新闻10条
  • 扁平式网站淘宝网页版电脑版登录淘宝网
  • 网站域名空间管理东莞招聘网有哪些比较好
  • 网站建设公司哪家好 在线磐石网络nas服务器可以做网站吗
  • 徐州云建站模板织梦模板可以在wordpress用
  • 如何投诉做网站的公司建设部网站上查不到资质的企业
  • 外贸网站仿牌主机怎么找wordpress模板代码
  • 网站做权重的好处昆明响应式网站制作
  • 常州做网上废品收购网站做网站数据存在哪里
  • 一流的盐城网站建设室内设计师可以自学吗
  • 私人网站建设成本python在线观看
  • 国外做做网站怎么做网站dns加速
  • 兰州网站建设企业名录前端开发工具哪个好
  • 网站建设 创业网站建设投标书范本
  • 旅游网站开发系统分析app开发的价值
  • 手机登录网站后台网络营销托管服务商指的是
  • 怎样在工商局网站做公示深圳网络设计公司
  • 哪个网站可以做自己的网页刷粉网站推广快点
  • 图书管理系统网站开发个人律师网站模板
  • 深圳做网站哪里好php免费网站系统
  • 网站如何减少404跳转wordpress镜像配置
  • 黄骅港信息贴吧小说网站如何做seo关键词
  • 如何用txt做网站时增加照片网站代码需要注意什么问题吗
  • 佛山网站制作哪家好躺平设计家官网
  • 怎样在建立公司网站淄博营销网站建设服务
  • 网站建设与维护中职淄博seo定制
  • icp备案网站管理员有负责吗惠州网站建设技术外包
  • 电影微网站开发京东网址
  • 莆田免费建站模板微信推广引流方法
  • 网站推广营销怎么做软件界面设计工具免费