Java开发中的一些小技巧
原文:http://www.cnblogs.com/xdp-gacl/p/3490276.html
一、 Java获取URL地址中传递的参数
/**
* 获取URL中的参数名和参数值的Map集合
* @param url
* @return
*/
private Map<String, String> getUrlPramNameAndValue(String url){
String regEx="(\\?|&+)(.+?)=([^&]*)";//匹配参数名和参数值的正则表达式
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(url);
// LinkedHashMap是有序的Map集合,遍历时会按照加入的顺序遍历输出
Map<String, String> paramMap = new LinkedHashMap<String, String>();
while(m.find()){
String paramName = m.group(2);//获取参数名
String paramVal=m.group(3);//获取参数值
paramMap.put(paramName, paramVal);
}
return paramMap;
}
二、获取请求的URL地址
/**
* 获取请求的URL地址
* @return
*/
public String getRequestUrl(){
HttpServletRequest request = ServletActionContext.getRequest();
// request.getRequestURL()获取到的是不带参数的URL,request.getQueryString()获取到的是URL的参数部分,要想获取带参数的完整URL,就需要把这两部分拼凑起来
String url = request.getRequestURL()+"?"+request.getQueryString();
return url; }
三、获取请求的IP地址
/**
* 获取请求的IP地址
* @return
*/
public String getRequestIpAddress(){
return ServletActionContext.getRequest().getRemoteAddr();
}
四:判断字符串是否能够转换成指定格式的日期
/**
* 验证字符串是否能够转换成指定格式的日期
* @param str
* @return date
*/
public static boolean isValidDate(String str ,String formater) {
boolean convertSuccess=true;
SimpleDateFormat format = new SimpleDateFormat(formater);
try {
format.setLenient(false);
format.parse(str);
} catch (ParseException e) {
// e.printStackTrace();
//如果throw java.text.ParseException或者NullPointerException,就说明格式不对
convertSuccess=false;
}
return convertSuccess;
}
Java开发中的一些小技巧的更多相关文章
- JAVA开发中遇到的小白点
这里主要是自己个人开发中遇到的一些小问题,自己攒起来,来弥补自己薄弱的JAVA基础,大神不要见笑 1. DateFormat格式化的HH和hh区别: public static boolean com ...
- RS开发中的一些小技巧[不定期更新]
从9月份一直忙到了现在,项目整体的改版工作也完成了十有八九了,有些事情只有你自己真正的做了,你才能明白:哦,原来还可以这个样子,这样做真的好了很多呢,接下来我就分享一些最近遇到的RS开发的一些小技巧, ...
- Java开发中经典的小实例-(二分法)
public int binarySearch(int[] data,int aim){//以int数组为例,aim为需要查找的数 int start = 0; int end = data.leng ...
- Java开发中经典的小实例-(while(参数){})
import java.util.Scanner;public class Test_while { public static void main(String[] args) { ...
- 日常开发中的shell小技巧
工具推荐 命令行中很方便的代码统计工具---cloc 强大的分屏工具---tmux 最舒服的markdown书写工具---typora markdown图床推荐--七牛云 模拟生成熵(避免暴力手搓键盘 ...
- Java开发中经典的小实例-(输入三个数字判断三角形类型)
import java.util.Scanner;public class threeTest { public static void main(String[] args) { ...
- Java开发中经典的小实例-(打印输入重复的值)
import java.util.ArrayList;import java.util.Scanner;public class Test8 { public static void main( ...
- Java开发中经典的小实例-(swich(){case:参数break;default: break;})
import java.util.Scanner;public class Test6 { public static void main(String[] args) { // ...
- Java开发中经典的小实例-(能被3整除,并且十个数换一行)
import java.util.Scanner;public class Test15 { public static void main(String[] args) { // ...
随机推荐
- 计算机学院大学生程序设计竞赛(2015’12)Polygon
Polygon Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- The shortest problem
The shortest problem Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- Financial Management 分类: POJ 2015-06-11 10:51 12人阅读 评论(0) 收藏
Financial Management Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 164431 Accepted: ...
- Visual Studio + SqlServer
vs2010: http://pan.baidu.com/s/1eQrlUwU sqlServer2008: http://pan.baidu.com/s/1sjQbyk1
- 安装python-devel 在升级到python2.7之后
分别执行如下命令: # yum update # yum install centos-release-SCL # yum search all python27 在搜索出的列表中发现python27 ...
- vim中如何替换
1) 文件内全部替换: :%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g) --注:把abc替换成123 (或者: %s/str1/str2/g 用str ...
- uml中定义的关系详细详解
uml定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依 ...
- 【Web】简谈如何监听浏览器的关闭
> 参考的优秀文章 beforeunload实现关闭离开的提示 想起以前做的一个小系统,一个企业内部小型的测试系统,让考生在给定时间内完成考试,如果考生中退出,那么下次进来可以利用剩余的考试时间 ...
- 复旦大学2014--2015学年第一学期(14级)高等代数I期末考试第七大题解答
七.(本题10分) 设 \(V\) 为数域 \(\mathbb{K}\) 上的 \(n\) 维线性空间, \(S=\{v_1,v_2,\cdots,v_m\}\) 为 \(V\) 中的向量组, 定义 ...
- BZOJ 1513 [POI2006]Tet-Tetris 3D
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1513 题意:三维空间,有一些立方体在垂直下落.立方体的左下角坐标(x,y)以及长宽 ...