原文: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开发中的一些小技巧的更多相关文章

  1. JAVA开发中遇到的小白点

    这里主要是自己个人开发中遇到的一些小问题,自己攒起来,来弥补自己薄弱的JAVA基础,大神不要见笑 1. DateFormat格式化的HH和hh区别: public static boolean com ...

  2. RS开发中的一些小技巧[不定期更新]

    从9月份一直忙到了现在,项目整体的改版工作也完成了十有八九了,有些事情只有你自己真正的做了,你才能明白:哦,原来还可以这个样子,这样做真的好了很多呢,接下来我就分享一些最近遇到的RS开发的一些小技巧, ...

  3. Java开发中经典的小实例-(二分法)

    public int binarySearch(int[] data,int aim){//以int数组为例,aim为需要查找的数 int start = 0; int end = data.leng ...

  4. Java开发中经典的小实例-(while(参数){})

    import java.util.Scanner;public class Test_while {    public static void main(String[] args) {       ...

  5. 日常开发中的shell小技巧

    工具推荐 命令行中很方便的代码统计工具---cloc 强大的分屏工具---tmux 最舒服的markdown书写工具---typora markdown图床推荐--七牛云 模拟生成熵(避免暴力手搓键盘 ...

  6. Java开发中经典的小实例-(输入三个数字判断三角形类型)

    import java.util.Scanner;public class threeTest {    public static void main(String[] args) {       ...

  7. Java开发中经典的小实例-(打印输入重复的值)

    import java.util.ArrayList;import java.util.Scanner;public class Test8 {    public static void main( ...

  8. Java开发中经典的小实例-(swich(){case:参数break;default: break;})

    import java.util.Scanner;public class Test6 {    public static void main(String[] args) {        // ...

  9. Java开发中经典的小实例-(能被3整除,并且十个数换一行)

    import java.util.Scanner;public class Test15 {    public static void main(String[] args) {        // ...

随机推荐

  1. 计算机学院大学生程序设计竞赛(2015’12)Polygon

    Polygon Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  2. The shortest problem

    The shortest problem Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...

  3. Financial Management 分类: POJ 2015-06-11 10:51 12人阅读 评论(0) 收藏

    Financial Management Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 164431   Accepted: ...

  4. Visual Studio + SqlServer

    vs2010: http://pan.baidu.com/s/1eQrlUwU sqlServer2008: http://pan.baidu.com/s/1sjQbyk1

  5. 安装python-devel 在升级到python2.7之后

    分别执行如下命令: # yum update # yum install centos-release-SCL # yum search all python27 在搜索出的列表中发现python27 ...

  6. vim中如何替换

    1) 文件内全部替换:   :%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g)   --注:把abc替换成123   (或者: %s/str1/str2/g 用str ...

  7. uml中定义的关系详细详解

    uml定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依 ...

  8. 【Web】简谈如何监听浏览器的关闭

    > 参考的优秀文章 beforeunload实现关闭离开的提示 想起以前做的一个小系统,一个企业内部小型的测试系统,让考生在给定时间内完成考试,如果考生中退出,那么下次进来可以利用剩余的考试时间 ...

  9. 复旦大学2014--2015学年第一学期(14级)高等代数I期末考试第七大题解答

    七.(本题10分)  设 \(V\) 为数域 \(\mathbb{K}\) 上的 \(n\) 维线性空间, \(S=\{v_1,v_2,\cdots,v_m\}\) 为 \(V\) 中的向量组, 定义 ...

  10. BZOJ 1513 [POI2006]Tet-Tetris 3D

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1513 题意:三维空间,有一些立方体在垂直下落.立方体的左下角坐标(x,y)以及长宽 ...