1、tomcat启动不起来,报java.net.BindException: Cannot assign requested address: JVM_Bind。
答:乍一看以为是端口被占用了,通过netstat -ano | find "端口"无果,换了个端口也无果,说明不是端口的问题,后来网上说是hosts文件中localhost 映射了2次的问题,果然,注释掉其中一个问题解决。
1、
2、jquery为label赋值,用$("#label").val("马云")竟然未生效,只能用$("#input").val("马云"),找一个input,将readonly使其生效。
3、localStorage使用太简单了,和hashmap一样,一个key,一个value.
localStorage.setItem("jwt", data.data.jwt);jwt:localStorage.getItem("jwt")
4、js用md5,只要下载一个即可
var md5Str = hex_md5("input string");
5、input type="number"是h5的新类型
6、jquery application/json
注意2点
6.1>要显式设置头部
6.2>要用stringfy
jQuery.ajax ({ url: myurl, type: "POST", data: JSON.stringify({data:"test"}), dataType: "json", contentType: "application/json; charset=utf-8", success: function(){ // }});
亲测有效。
-和老外学的
7、jetty6 maven插件如何进入debug模式?
答:在terminal中是无法进入的。
得在Intellij中新建一个maven命令,然后用debug来启用。如下面2图所示
-也是参考老外的
8、Java将字符串md5,用如下方法即可,jdk原生的
/** * 对字符串md5加密 * * @param str * @return * @throws Exception */ public static String getMD5Str(String str) throws Exception { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.getInstance("MD5"); // 计算md5函数 md.update(str.getBytes()); // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 return new BigInteger(1, md.digest()).toString(16); } catch (Exception e) { throw new Exception("MD5加密出现错误,"+e.toString()); } }
9、java jwt
使用非常简单,引用java-jwt的pom,这个类有2个方法,一个是sign,一个是unsign.
在登录时sign,在其它操作时进行用unsign,校验签名,如果通过,则拿出payload中的userId,进行各种操作。
10、mysql权限不生效。
是因为每次赋权时都往mysql数据库的user表中新增一条记录,而不是覆盖。因此企图靠覆盖的思路,均不生效。如下图所示:
知道了原理后,就比较简单了,直接将不期望的那一条删除即可。
执行flush priviledge使之生效
11、js缓存太头痛了,经常是服务端改了,客户端死活不生效,手机浏览器清缓存还没用。
答:有妙招的,在js后面加个版本号即可,简单粗暴。
12、tomcat加固
将webapps除了自己的war外全部删除。