原文: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. javaScript判断鼠标滚轮的上下滚动

    分享一个js实现判断鼠标滚轮的上下滚动: <script type="text/javascript"> var scrollFunc = function (e) { ...

  2. selenium + python 添加等待时间

    转载于:http://www.blogjava.net/qileilove/articles/412450.html 四.添加等待时间 有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间. 4.1 ...

  3. Android内存Activity泄露:Threads

    Android编程中一个共同的困难就是协调Activity的生命周期和长时间运行的任务(task),并且要避免可能的内存泄露.思考下面Activity的代码,在它启动的时候开启一个线程并循环执行任务. ...

  4. Tomcate配置单向双向SSL

    1.单向SSL 一.在Tomcate的service.xml文件中放开SSL配置 <!-- <Connector port="8443" protocol=" ...

  5. 2010noip提高组解题报告

    https://www.luogu.org/problem/show?pid=1514 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个 ...

  6. 把int放在一个char数组里(用于处理每一位数字)

    sprintf(): #include <stdio.h> void put_int_with_space(int v) {     char str[50];    //定义一个足够大的 ...

  7. 设置MySQL开机自动启动的方法

    在windows中一般情况下mysql安装好之后就是开机自动启动不需要设置,但是如果是通过yum安装MySQL后,默认开机时不会自动启动,需要手动设置MySQL让它开机自启动. 首先,通过chkcon ...

  8. Android设备唯一性判断

    前段时间项目需要一个功能,就是在操作完某一个逻辑之后返回给客户一个红包,安全校验团队需要我们提供android设备的唯一标示,起初直接通过获取设备的imei号传给了server端,后台公司云迹监控发现 ...

  9. 编写一个Java程序,计算一下1,2,…,9这9个数字可以组成多少个互不相同的、无重复数字的三位偶数。

    package a; public class SanWeiOuShu { public static void main(String[] args) { String str="1234 ...

  10. BZOJ 2584: [Wc2012]memory(扫描线+线段树)

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2584 题意:给出平面n个线段,任意两个线段严格不相交,且每个线段不平行于坐标轴.移 ...