「java处理url」java处理url参数重复
今天给各位分享java处理url的知识,其中也会对java处理url参数重复进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java怎么处理url里面的特殊字符
- 2、java短信的url怎么处理中文乱码怎么处理
- 3、java解析出url请求的路径和参数键值对类
- 4、java处理url数据
- 5、java如何将字符串转化为URL
- 6、JAVA如何处理URL中的特殊字符
java怎么处理url里面的特殊字符
这个过程叫转义。
val = "@123+abc%AB";
val = encodeURIComponent(val);
...
java:
String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");
在数据库保存时,只要转义单引号,,| ,?,可能还有遇到再补充吧
java短信的url怎么处理中文乱码怎么处理
1、在客户端用escape(encodeURIComponent(fieldValue))方法编码,例如:
复制代码代码如下:
title=escape(encodeURIComponent(title)); //这是js里的函数
url="%=request.getContextPath()%/print/printList!printTable.action?title="+title;
2、在服务端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),进行解码。
-----------------------------------------------------------------------------
parent.window.location.href 和 iframe中src的乱码问题。
要在这两个url地址中传中文,必须加编码,然后再解码。
编码:encodeURI(encodeURI("包含中文的串"))
解码:java.net.URLDecoder.decode("需要解码的串","utf-8");
java解析出url请求的路径和参数键值对类
解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。
package RequestPackage;
import java.util.HashMap;
import java.util.Map;
public class CRequest {
/**
* 解析出url请求的路径,包括页面
* @param strURL url地址
* @return url路径
*/
public static String UrlPage(String strURL)
{
String strPage=null;
String[] arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()0)
{
if(arrSplit.length1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}
return strPage;
}
/**
* 去掉url中的路径,留下请求参数部分
* @param strURL url地址
* @return url请求参数部分
*/
private static String TruncateUrlPage(String strURL)
{
String strAllParam=null;
String[] arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()1)
{
if(arrSplit.length1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
return strAllParam;
}
/**
* 解析出url参数中的键值对
* 如 "index.jsp?Action=delid=123",解析出Action:del,id:123存入map中
* @param URL url地址
* @return url请求参数部分
*/
public static MapString, String URLRequest(String URL)
{
MapString, String mapRequest = new HashMapString, String();
String[] arrSplit=null;
String strUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
return mapRequest;
}
//每个键值为一组
arrSplit=strUrlParam.split("[]");
for(String strSplit:arrSplit)
{
String[] arrSplitEqual=null;
arrSplitEqual= strSplit.split("[=]");
//解析出键值
if(arrSplitEqual.length1)
{
//正确解析
mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
}
else
{
if(arrSplitEqual[0]!="")
{
//只有参数没有值,不加入
mapRequest.put(arrSplitEqual[0], "");
}
}
}
return mapRequest;
}
}
测试类
package RequestPackage;
import java.util.Map;
public class TestCRequest {
/**用于测试CRequest类
* @param args
*/
public static void main(String[] args) {
// 请求url
String str = "index.jsp?Action=delid=123sort=";
//url页面路径
System.out.println(CRequest.UrlPage(str));
//url参数键值对
String strRequestKeyAndValues="";
MapString, String mapRequest = CRequest.URLRequest(str);
for(String strRequestKey: mapRequest.keySet()) {
String strRequestValue=mapRequest.get(strRequestKey);
strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";
}
System.out.println(strRequestKeyAndValues);
//获取无效键时,输出null
System.out.println(mapRequest.get("page"));
}
}
测试代码运行效果
index.jsp
key:id,Value:123;key:sort,Value:;key:action,Value:del;
null
java处理url数据
您好,提问者:
GET xxx HTTP/1.1首先这是固定的,如果是get方式提交的话,那么第一行必定是这个。
可以通过readLine()读取第一行,如下代码:
//这样获取的是get提交的数组,空格分割
String[] getTitle = xx.readLine().split(" +");
String getParam = getTitle[1]; //1中的内容就是/?mac=adsfaeadsf
java如何将字符串转化为URL
将字符串转换成URL可以使用创建一个URL对象,并将字符串赋给这个URL对象。
参考代码如下:
String str = "填写字符串的链接地址";
try {
URL url = new URL(str);
} catch (MalformedURLException e) {
e.printStackTrace();
}
注意,创建URL对象会有异常,所以使用try处理抛出的异常。
JAVA如何处理URL中的特殊字符
这个过程叫转义。
val = "@123+abc%AB";
val = encodeURIComponent(val);
...
java:
String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");
在数据库保存时,只要转义单引号,,| ,?,可能还有遇到再补充吧
关于java处理url和java处理url参数重复的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-04,除非注明,否则均为
原创文章,转载请注明出处。