1.Java路径在不同系统下的处理,路径有的时候会进行手动拼接。那么拼接之后可能会出现一些怪异的情况。

例如:C://Test\/Finder

window下是支持/和\路径分割的。但是有的系统是使用/那么就会出现一些问题。

File.separator,是一个可以获取当前系统下文件路径分割符的静态常量。

那么我做一个小demo,用正则的方式,吧乱七八糟重复的路径都转换成当前的系统支持的路径。

但是还是要记住一件事情,那就是OSX下和Linux下是没有win下那样E:\的啦~~~~

String path = "//123\\\\1231231///\\\\1231";

path = path.replaceAll("[\\\\|/]+", File.separator);

System.out.println(path);

/**

* Console:

* /123/123/1231/1231

*/

/**

* 修正win下操作失败转义出错的问题。

* win下默认分割符是\,在java中是转义符,进行了转义。

*/

String separator = File.separator;

if(File.separatorChar == 92)

separator = "" + File.separatorChar + File.separatorChar;

String path = "//123\\\\1231231///\\\\1231";

path = path.replaceAll("[/\\\\]+", separator);

System.out.println(path);

2.Java获取连接中的参数

public static String getUrlParam(String url,String name){

try {

url = java.net.URLDecoder.decode(url,"UTF-8");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

String exPar = "[?&]" + name + "\\=([^&]+)";

Pattern p = Pattern.compile(exPar);

Matcher m = p.matcher(url);

boolean flag = m.find();

if(!flag) return null;

String parame = m.group();

return parame.substring(parame.indexOf("=") + 1);

}

public static String getUrlParam(String url,String name){

try {

url = java.net.URLDecoder.decode(url,"UTF-8");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

int index = url.indexOf("&" + name + "=");

if(index == -1) index = url.indexOf("?" + name + "=");

if(index == -1) return null;

int last = url.indexOf("&", index + 1);

if(last == -1) last = url.length();

return url.substring(index + name.length() + 2,last);

}

3.IDEA设置:文件File-设置setting-Keymap 搜索 completion,找到ctrl+空格的快捷键,删除旧的值,然后添加新的值alt+/,保存退出,就可以实现代码提示

4.如果使用Spring4.1.0以上版本,@ResponseBody出现406错误,请将jackson版本替换成2.x版本,jackson-annotations-2.4.4.jar、jackson-core-2.4.4.jar、 jackson-databind-2.4.4.jar 。

5.如果一个项目中在Tomcat5中可以正常运行,在Tomcat6中出现jsp文件无法转成Servlet,可以查看一下EL表达式是否存在">这种双引号嵌套了双引号的问题。

6.反射执行当前类里面某对象的方法

/**

* 反射执行某属性对象的方法

* @param fieldName 属性对象的名称

* @param methodName 该对象的方法

* @param args 调用改方法的参数列表

* @return 返回方法的返回值

* @throws SecurityException

* @throws NoSuchFieldException

* @throws IllegalArgumentException

* @throws IllegalAccessException

* @throws NoSuchMethodException

* @throws InvocationTargetException

*/

private Object invokeMethod(String fieldName,String methodName,Object... args)

throws SecurityException, NoSuchFieldException, IllegalArgumentException,

IllegalAccessException, NoSuchMethodException, InvocationTargetException{

Class> thisClass = this.getClass();

Field field = thisClass.getDeclaredField(fieldName);

Object fieldObject = field.get(this);

Class> fieldClass = fieldObject.getClass();

Class>[] argsClass = new Class[args.length];

for (int i = 0, j = args.length; i < j; i++) {

argsClass[i] = args[i].getClass();

}

Method method = fieldClass.getMethod(methodName, argsClass);

return method.invoke(fieldObject, args);

}

7.SpringMVC获取Response和Request

7.1使用注解@ModelAttribute

protected HttpServletRequest request;

protected HttpServletResponse response;

protected HttpSession session;

@ModelAttribute

public void setReqAndRes(HttpServletRequest request, HttpServletResponse response){

this.request = request;

this.response = response;

this.session = request.getSession();

}

被@ModelAttribute注释的方法会在此controller每个方法执行前被执行,因此对于一个controller映射多个URL的用法来说,要谨慎使用

7.2加入监听器

web.xml加入监听器

org.springframework.web.context.request.RequestContextListener

Controller:

HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();

HttpServletResponse resp = ((ServletWebRequest)RequestContextHolder.getRequestAttributes()).getResponse();

其中监听器方法中的获取response以验证不可用,会报错,转换异常。

java 空格 separater_Java随手记相关推荐

  1. 初入Ubuntu的Java开发者安装软件手记

    转载 [Linux]初入Ubuntu的Java开发者安装软件手记 作者:Rambo Chen 分类专栏: Java 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...

  2. java空格 逗号_Java将字符串中的空格换为逗号

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class Math { /** * @param arg ...

  3. java空格键_Java KeyPressed-如果其他键也太旧,则无法检测是否按下了空格键

    如标题所示,在我的Java游戏中,无法检测是否同时按下空格键和其他键. 例如,空格键是射击键,而箭头键则使玩家移动.如果我按下向上箭头键,向左箭头键和空格键,那么它应该向左上方发射子弹. 但是,在使用 ...

  4. 阅读java文件_阅读与阅读写文件 - Java空格

    我想从文件中读取并写入文件.输入文件如下 <0%> As I remember, Adam, it was upon this fashion bequeathed me by will ...

  5. java 空格 char_java中如何判断char是否是空格

    java中如何判断char是否是空格 函数介绍: toCharArray() 方法将字符串转换为字符数组. 语法:public char[] toCharArray() 返回值: 字符数组. 免费在线 ...

  6. Java 空格“ ”、空字符串“”和null区别

    空格" " 空字符串"" 1.类型:""是一个空字符串(String),长度为0,占内存,在内存中分配一个空间,可以使用Object对象中的 ...

  7. java 空格转义字符_使用java中的空格对字符串进行标记

    假设: 您的变量名称(赋值'a = b'中的'a')的长度可以是1或更长 您的变量名称(赋值'a = b'中的'a')不能包含空格字符,其他任何东西都可以. 不需要验证您的输入(输入假定为有效的a = ...

  8. java空格转义_java转义字符 - simpower的个人空间 - OSCHINA - 中文开源技术交流社区...

    1. 注意regex的写法 String   newName=name.replaceFirst("d:\\\\racke\\\\","http://192.168.0. ...

  9. java 空格乱码_java 中文乱码以及空格乱码解决方案总结

    当使用response.write返回JSON数据到前端时,需要在前面加上这句 response.ContentType = "text/html;charset=gb2312"; ...

最新文章

  1. [JavaScript]牛人的JS是怎么玩的
  2. 利用FFT计算非平稳随机信号WVD分布
  3. 漫画-Linux中断子系统综述
  4. vim复制粘贴_打造一款高逼格的Vim神器
  5. [Swift]LeetCode1153. 字符串转化 | String Transforms Into Another String
  6. 用Python强制子类重写父类,如此简单就能做到
  7. 除法运算、商、余数与取模
  8. chage 修改用户密码的有效期限
  9. 感性电路电流计算_如何计算电机的电流?跟转速有关系吗?附案例分析
  10. Python中的时间序列数据可视化的完整指南
  11. JVM监控及诊断工具之JConsole
  12. CentOS官网下载所需版本的CentOS版本方法
  13. 俞灏明深二度灼伤 Selina做清创手术
  14. 【EXLIBRIS】纸版书目整理 -- 增补至2008年春节【36 种】【36 册】
  15. 常用颜色透明度色值表
  16. 实验一:信息隐藏与数字水印
  17. jetson-inferenc显示fatal error: connect_parts.hpp
  18. 【微信小程序】--注册小程序账号安装开发者工具(一)
  19. 文件上传、切片上传、秒传等
  20. nn.Module、nn.Sequential和torch.nn.parameter学习笔记

热门文章

  1. jQuery学习笔记(三)jQuery动画效果
  2. 从配置 Kivy、Buildozer 到 Android app 运行
  3. GKCTF2020 逆向部分题的复现
  4. 英文字母字符简便替换法
  5. java多线程学习笔记。
  6. 杂谈||Python实现计算含保底抽卡出金期望
  7. Mave概念及其配置
  8. 博通Broadcom SDK源码学习与开发1——SDK源码探究与Cable Modem 系统编译
  9. java使用jacob操作word文档
  10. 回顾|伍鸣博士出席《华人之光-世界瞩目的华人 Web3 项目》圆桌论坛