Java中易混淆问题总结

Java中易混淆问题总结


(自用)持续更新…

一、路径问题

1. Java EE中的路径

① 简介
  • 1)首先,一个Java Web工程其文件结构如图所示:

    • 在这里插入图片描述
      在这里插入图片描述
  • 2)其次,该项目发布到Tomcat服务器时,将out目录下的文件发布到Tomcat服务器

    • 如:E:\Project\JAVA\javaEE\idea\Practice\out\artifacts\Servlet_war_exploded
  • 3)静态资源(存放项目web下的html、jsp等文件)存放目录

    • Servlet_war_exploded目录下**(即项目根目录)**
    • 如图:在这里插入图片描述
  • 4)项目中存放在WEB-INF文件夹下的文件的路径

    • 如:Servlet_war_exploded\WEB-INF
  • 5)java文件的字节码(class)文件

    • 如:Servlet_war_exploded\WEB-INF\classes\包名
  • 6)src下的文件存放目录

    • 如:Servlet_war_exploded\WEB-INF\classes
② 路径
  • 1)当前请求从服务器发出,不需添加虚拟路径,如:
    • 请求转发:request.getRequestDispatcher("/requestDemo4_2").forward(request, response)
  • 2)当前请求从客户端发出,需添加虚拟路径,如:
    • 重定向:response.sendRedirect("/servlet/responseDemo1_2");
  • 3)ServletContext获取文件路径(默认web目录下)
    • 当前目录(即web目录下):/a.txt
    • web/WEN-INF下文件:/WEB-INF/b.txt
    • src目录下文件:/WEB-INF/classes/c.txt

2. Java SE中的路径

  • 1)ClassLoader:默认路径为src下的路径
    • 若访问src下的文件,例如:类名.class.getClassLoader().getResourceAsStream("jdbc.propertyes")
  • 2)IO流,如File对象:默认路径为项目或Mudule根目录
    • 若访问src下的文件,需添加src,例如:File file = new File("src/jdbc.properties")

二、乱码问题

1. 请求/响应

  • 1)获取请求参数乱码
    • get方式:tomcat8以上已解决
    • post方式:在获取参数前设置request的流的编码(因为post获取参数的方式是先获取流,在获取参数)
      • request.setCharacterEncodinf("utf-8")
  • 2)响应给浏览器的中文乱码
    • 原因:浏览器默认编码为系统编码(GBK),而服务器中response.getWriter();获取的流的编码为tomcat编写时的编码(ISO-8859-1)。由于编码与解码方式不一致,故导致中文乱码。
    • 解决1:在获取流之前设置编码为浏览器默认编码(GBK):response.setCharacterEncoding("gbk");
    • 解决2:或者设置响应头的Content-Tyoe告诉浏览器本次响应的数据格式
      ding(“gbk”);`
    • 解决2:或者设置响应头的Content-Tyoe告诉浏览器本次响应的数据格式
    • 解决3(★):直接设置:response.setContextType("text/html;charset=utf-8")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值