Servlet-02
来源:互联网 发布:网络黑名单 编辑:程序博客网 时间:2024/06/05 09:48
1.在doGet()的respon 中添加响应头,3秒刷新,并跳转到其他页面
response.setContentType("text/html;charset=utf-8"); // 添加响应头=> Refresh response.addHeader("Refresh", "3;url=http://localhost:8080"); // 让页面有倒计时的效果 response.getWriter().write("您将在<span id='one'>3</span>秒后跳转!" + "<script type='text/javaScript' >" + "var span = document.getElementById('one');" + "var i =3;" + "function fun(){" + "i--;" + "if(i>=0){" + "span.innerHTML = i;" + "}" + "}" + "window.setInterval(fun,1000);" + "</script>");
注意:在java代码中书写 script 太麻烦,太尴尬了;
2.防止中文乱码
- 字节流的处理
//控制解码码表 response.setHeader("Content-Type", "text/html;charset=GBK"); //控制编码码表 response.getOutputStream().write("尽头".getBytes("GBK"));
- 字符流的处理
1. //设置解码码表 response.setHeader("Content-Type", "text/html;charset=utf-8"); //设置编码mabiao response.setCharacterEncoding("gbk"); 2. response.setContentType("text/html;charset=utf-8"); response.getWriter().write("典当");
结论:
1.的两行,可以用2.的 一行来代替response.setContentType(); 设置解码格式, 同时自动设置编码码表
建议:
1 输出中文建议使用字符流2 解决字符流乱码 使用setContentType放可以同时设置编码解码两端的码表.3 注意: 码表的设置一定放到输出之前4 注意: 字符流与字节流不能同时使用
3. WEB-INF下 的文件的 查看 和下载
- 查看图片的操作案例:(和听音乐代码差不多)
public class FServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1.得到输入流 InputStream is = getServletContext().getResourceAsStream( "/WEB-INF/aa.jpg"); // 2.得到输出流 OutputStream so = response.getOutputStream(); // 3.对接 byte[] buffer = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { so.write(buffer, 0, len); so.flush(); } so.close(); is.close(); } }
- 下载文件(zip,exe,mp3,mp4……..)
public class GServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应正文类型 String type = getServletContext().getMimeType("sss.zip"); response.setContentType(type); // 设置相应头,提示用户保存下载名称 response.setHeader("Content-Disposition", "attachment;filename=apache-tomcat-7.0.42-src.zip"); InputStream is = getServletContext().getResourceAsStream( "WEB-INF/apache-tomcat-7.0.42-src.zip"); OutputStream os = response.getOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { os.write(buffer, 0, len); os.flush(); } os.close(); is.close(); } }
注意:
1.设置响应正文类型,
String type = getServletContext().getMimeType("sss.zip"); response.setContentType(type);
2.提示用户下载保存名称
response.setHeader("Content-Disposition", "attachment;filename=apache-tomcat-7.0.42-src.zip");
1 0
- Servlet-02
- 【Servlet】02-Servlet技术模型
- javaEE servlet-02
- Servlet 基础02
- Javaweb 02—Servlet
- JavaWeb 02 Servlet
- [servlet] 02 ServletConfig接口
- Servlet的生命周期02
- Servlet
- servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- Servlet
- Servlet
- servlet
- caffe研究之Imagenet的train_val.prototxt解读
- 百度面试总结2
- ES相关API备忘(一)
- eclipse 找不到类
- 每日趣闻项目小结
- Servlet-02
- CentOS安装FastDFS+Nginx
- 自定义时钟
- 为什么上传文件的表单里面要加一个属性enctype=multipart/form-data?
- JavaEE项目实战(OA系统)之二十一_流程审批之四
- Qt5下OpenGL程序的新写法
- 详解zabbix安装部署(Server端篇)
- java基础
- CSS实战技巧:块级元素水平垂直居中