问题一:

下面这两段代码差别不大,为何test1结果不同:

代码1:

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
test(response);
test1(response);
} //这样写会乱码,返回两个? 原因是外国人默认用ISO8859码表,当数据存到response中时,ISO8859中没有汉字对应的码表,所以返回?所以解决乱码的关键在于码表的更换,
public void test(HttpServletResponse response) throws IOException{
String data = "中国";
PrintWriter out = response.getWriter();
out.write(data); }
//解决test里面的乱码问题
public void test1(HttpServletResponse response) throws IOException{
//设置response用的码表是UTF-8,以控制response以什么码表像浏览器写出数据
response.setCharacterEncoding("UTF-8");
//因为浏览器默认GB2312,所以现在必须控制浏览器打开数据的码表为UTF-8
response.setHeader("content-type","text/html;charset=UTF-8");
String data = "中国";
PrintWriter out = response.getWriter();
out.write(data);
}

代码2:

 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//test(response);
test1(response);
} //这样写会乱码,返回两个? 原因是外国人默认用ISO8859码表,当数据存到response中时,ISO8859中没有汉字对应的码表,所以返回?所以解决乱码的关键在于码表的更换,
public void test(HttpServletResponse response) throws IOException{
String data = "中国";
PrintWriter out = response.getWriter();
out.write(data); }
//解决test里面的乱码问题
public void test1(HttpServletResponse response) throws IOException{
//设置response用的码表是UTF-8,以控制response以什么码表像浏览器写出数据
response.setCharacterEncoding("UTF-8");
//因为浏览器默认GB2312,所以现在必须控制浏览器打开数据的码表为UTF-8
response.setHeader("content-type","text/html;charset=UTF-8");
String data = "中国";
PrintWriter out = response.getWriter();
out.write(data);
}

两段代码区别在于:第一段test和test1方法同时调用,输出结果是????

         第二段只调用了test1方法,结果输出 “中国”

为什么?????

问题二:

下列代码,想从浏览器访问对应位置的图片,为什么总显示NullPointException

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
//1、先设置浏览器要以什么方式打开
response.setHeader("Content-type","image/jpeg");
//2、再把目标文件加载成一个输入流 输入流才有读的方法 F://10.jpg这样写是错误的
InputStream in = this.getServletContext().getResourceAsStream("F://10.jpg");
//3、定义字符数组长度的中间变量
int len = 0;
//4、定义一个字符数组
byte by[] = new byte[1024];
//5、先定义好一个输出到浏览器的流
//6、把输入流里的东西读入到字符数组中
OutputStream out = response.getOutputStream();
while((len = (in.read(by)))!=-1){ out.write(by,0,len);
out.flush();
}
out.close();
in.close();
}

当把"F://10.jpg"改成“10.jpg”就对了???是不能指定图片所在路径吗?(F盘下有10.jpg,web应用下也有10.jpg)

自己在WEB学习过程中遇到的问题的更多相关文章

  1. JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)

    JAVA语言具有跨平台,unicode字符集编码的特点. 但是在开发过程中处理数据时涉及到的字符编码问题零零散散,尤其是处理中文字符时一不留神就可能出现一堆奇奇怪怪的符号,俗称乱码. 对于乱码,究其原 ...

  2. spring web mvc中遇到的错误以及学习小记(持续记录)

    错误:cvc-complex-type.2.4.a: 发现了以元素 'init-param' 开头的无效内容.应以 '{"http://java.sun.com/xml/ns/javaee& ...

  3. 在Web API中使用Swagger-UI开源组件(一个深坑的解决)

    介绍: Swagger-Ui是一个非常棒的Web API说明帮助页,具体详情可自行Google和百度. 官网:http://swagger.io/    GitHub地址:https://github ...

  4. Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开

    最近学习Java web,在学习过程中想实现一个需求,就是在jsp页面跳转的时候,希望跳转后的新页面在新窗口中打开, 而不是覆盖原来的页面,这个需求使我困惑了好长时间,后来通过大海捞针似的在网上寻找方 ...

  5. java: web应用中不经意的内存泄露

    前面有一篇讲解如何在spring mvc web应用中一启动就执行某些逻辑,今天无意发现如果使用不当,很容易引起内存泄露,测试代码如下: 1.定义一个类App package com.cnblogs. ...

  6. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  7. web.xml中welcome-file-list的作用

    今天尝试使用struts2+ urlrewrite+sitemesh部署项目,结果发现welcome-file-list中定义的欢迎页不起作用: <welcome-file-list> & ...

  8. web.xml中load-on-startup的作用

    如下一段配置,熟悉DWR的再熟悉不过了:<servlet>   <servlet-name>dwr-invoker</servlet-name>   <ser ...

  9. Entity Framework 6 Recipes 2nd Edition(9-3)译->找出Web API中发生了什么变化

    9-3. 找出Web API中发生了什么变化 问题 想通过基于REST的Web API服务对数据库进行插入,删除和修改对象图,而不必为每个实体类编写单独的更新方法. 此外, 用EF6的Code Fri ...

随机推荐

  1. 【游记】NOIP2018复赛

    声明 我的游记是一个完整的体系,如果没有阅读过往届文章,阅读可能会受到障碍. ~~~上一篇游记的传送门~~~ 前言 参加完NOIP2018的初赛过后,我有点自信心爆棚,并比之前更重视了一点(也仅仅是一 ...

  2. 1、JAVA的小白之路

    大学的时光过得很快,转眼我已经大二了,在大一时,学习了C\C++,对于语言有一定基础,在未来的道路上,我需要攒足干劲,积累足够的知识和技能,去走上社会. 我的第一任大学班主任告诉我:“作为程序员,你至 ...

  3. JavaWeb——JSP开发2

    使用JSP+Servlet实现文件的上传和下载功能 1.文件模型 首先是文件本身,这里创建一个类记录文件的名字和内容: public class Attachment { private String ...

  4. [趣学程序]java的常用类之String

    java基础之常用类 String类 String表示字符串,所谓字符串,就是一连串的字符,是java中最常用的类之一. String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内 ...

  5. .NETCore C# 中级篇2-4 一文带你完全弄懂正则表达式

    .NETCoreCSharp 中级篇2-4 本节内容为正则表达式的使用 简介 有的时候,你是否有过这种需求:判断一个Ip地址.邮箱.密码规则是否合法.如果让你使用if一类的传统方法进行处理,你肯定会被 ...

  6. cs224d---词向量表示

    1 Word meaning 1. 1 word meaning的两种定义 Definition meaning:单词的含义指代了客观存在的具体事物,如眼镜. Distributional simil ...

  7. JMeter的JavaRequest探究

    1.背景 最近笔者的一位老朋友咨询了一个问题:在自定义的Java请求中如何编写多个请求?老朋友反应他们发送请求只能基于这种Java请求形式(代码调需用三方封装的jar包).这个问题恰巧不久前在笔者所在 ...

  8. 上传文件时 重新载入页面以获取源代码 http://*/upload.php

    今天做一个处理上传文件的接口时碰到这样一个问题, 用的是element-ui的上传组件,但是上传失败, 抓包一看返回的是 重新载入页面以获取源代码 http://*/upload.php 网上搜了一下 ...

  9. 用gcc/g++编译winsock程序

    用gcc/g++编译winsock程序 D:\My\code>gcc -o getweb.exe getweb.c -lwin32socket 如果不加此句 -lwin32socket 编译会报 ...

  10. Java 从入门到进阶之路(一)

    写在前面:从本片文章开始,将记录自己学习 Java 的点滴路程,目标定的并不是让自己成为一个 Java 高手,而是让自己多掌握一门语言,使自己的知识面更广一些,在学习 Java 的过程中如有不对的地方 ...