问题目录
- 在一个使用https的页面中如何发起http请求(未解决)
- Java获取用户真实IP(引用)
- List循环删除中出现的问题
-
eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver
2017.7.10
问题1:在一个使用https的页面中如何发起http请求
浏览器会因为安全问题要求使用https的页面中的所有请求都是https,对http的请求禁止。
尝试方法:ajax, iframe; window.open;
解决:未解决
建议:服务器内部转发请求
问题2:Java获取用户真实IP
因为代理及其它原因获取不到用户的真实IP,
解决:
public static String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
}
转自http://www.jb51.net/article/67050.htm
2018.09.07
问题3:List循环删除中出现的问题
问题详述:List中存放20个对象,使用循环删除第10个到15个对象,实践后发现存在对象未被删除
示例:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListRemove {
public static void main(String[] args) {
ArrayList list = new ArrayList();
for (int i = 0; i < 20; i++) {
list.add("数字"+i);
}
for (int j = 11; j < 16; j++) {
System.out.println("删除"+j);
list.remove(j);
}
Iterator iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
输出结果:
删除11
删除12
删除13
删除14
删除15
数字0
数字1
数字2
数字3
数字4
数字5
数字6
数字7
数字8
数字9
数字10
数字12
数字14
数字16
数字18
原因:删除元素涉及到数组元素的移动。执行删除循环时,删除当前对象时,List中的下一个对象会移动到当前删除对象的位置上,下次循环则无法删除移动的对象。
解决:使用倒序遍历再删除对象元素
问题4:eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver
解决:
org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)
解决方法为:更新eclipse中的maven插件
1.help -> Install New Software -> add ->https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/0.17.2/N/LATEST
2.一直next confirm 安装更新 提示重启eclipse 然后再右键项目maven update project
标记:
附解决方案网址
1.http://stackoverflow.com/questions/37555557/m2e-error-in-mavenarchiver-getmanifest
2.https://github.com/tesla/m2eclipse-mavenarchiver/issues/8