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
- 当前目录(即web目录下):
2. Java SE中的路径
- 1)ClassLoader:默认路径为src下的路径
- 若访问src下的文件,例如:
类名.class.getClassLoader().getResourceAsStream("jdbc.propertyes")
- 若访问src下的文件,例如:
- 2)IO流,如File对象:默认路径为项目或Mudule根目录
- 若访问src下的文件,需添加src,例如:
File file = new File("src/jdbc.properties")
- 若访问src下的文件,需添加src,例如:
二、乱码问题
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")
- 原因:浏览器默认编码为系统编码(GBK),而服务器中
Java中易混淆问题总结相关推荐
- java中容易混淆的方法_java中容易混淆的概念
java中容易混淆的概念 1. 谈谈 final, finally, finalize 的区别final-修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不 能作为父类被 ...
- java中容易混淆的方法_java中容易混淆的区别
本文会随时更新一些java中容易混淆的关键字或者知识点,如有偏见之处,望留言! final和static的差别: 1,final的英语意思"最后的",在java中修饰类,方法和变量 ...
- 计算机组装与拆解中容易混淆的知识点,教资干货 | 教资笔试中易混淆的知识点整合...
原标题:教资干货 | 教资笔试中易混淆的知识点整合 教师资格笔试越来越近, 同学们要会进行归纳整理和总结, 很多同学复习的很好, 但一看到题目的时候就不确定具体答案是哪个了, 今天小编就来归纳整理教资 ...
- C语言中易混淆的标识符,C语言指针中易混淆的概念
C语言指针中易混淆的概念 一.数组指针与指针数组的区别 考虑数组的指针的时候我们要同时考虑类型和维数这两个属性.换一句话,就是说一个数组排除在其中存储的数值,那么可以用类型和维数来位置表示他的种类. ...
- MSSQL SERVER中易混淆的数据类型
本篇文章由 泉州SEO www.234yp.com 整理发布,php连接mssql www.234yp.com/Article/168210.html 谢谢合作! php连接mssql 数据类弄是数据 ...
- Java中易忽略的基础知识
欢迎关注我的公众号[软件大爆炸] Java学习中的碎碎念 Java中易忽略的基础知识 Java面向对象基础 Java中的核心类 Java抽象类和接口 Java中的异常 Java中的泛型与集合 Java ...
- drools规则引擎中易混淆语法分析_相互触发导致死循环分析
整理了下最近在项目中使用drools出现的问题,幸好都在开发与测试阶段解决了,未波及到prod. 首先看这样两条规则: /*** 规则1_set默认利率a */ rule "rate_def ...
- EMV中易混淆概念总结
CDOL(卡风险管理数据对象列表):GAC命令中需要传送给卡片的数据对象列表.CDOL是终端在读应用记录处理过程中从卡片中读取的 TDOL(交易证书数据对象列表):列出生成交易证书(TC)哈希计 ...
- 记录在学习python中易混淆的知识点
这里写目录标题 列表 元组 Python中的*args和**kwargs 具有两个以上维度的数据帧切片 列表 访问列表中的列表元素: list = [123,['hello','world'],456 ...
- Java中易混知识点
1.&与&&,|与||的区别: A&B,A&&B:二者都表示逻辑与运算符(and),只有AB表达式都为true时,整个运算结果才为true. A& ...
最新文章
- Debian 6 7 8 utc时间设置
- acwing算法题--多重背包问题二
- ogre3D学习基础10 -- 键盘控制与鼠标控制(直接控制)
- Qt修炼手册11_多线程编程和QThread类
- 2020年 第11届 蓝桥杯 Java C组 省赛真题详解及小结【第1场省赛 2020.7.5】
- 电工助手App开发 第三周
- github初学者指南_GitHub初学者指南
- ubuntu全局配置文件
- 怎么在html mui中找到下拉刷新,HelloMUI例子中的下拉刷新
- 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法...
- DV、OV、EV :SSL证书那么多,我该选择哪一种?
- 我是一只IT小小鸟(转载)
- 如何在Excel里输入可以打钩的选择框?
- 3CDaemon使用教程
- html怎样给图片铺热区,HTML图片热区map area的用法
- 到底什么才是边缘计算?
- 三维坐标变换——旋转矩阵与旋转向量
- Electron源码学习: Electron组成与初始化流程
- Markdown笔记及常用快捷键(自用)
- win10系统,修改注册表,Acrobat DC关联pdf格式