解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。
package RequestPackage;
import javautilHashMap;
import javautilMap;
public class CRequest {
/
解析出url请求的路径,包括页面
@param strURL url地址
@return url路径
/
public static String UrlPage(String strURL)
{
String strPage=null;
String[] arrSplit=null;
strURL=strURLtrim()toLowerCase();
arrSplit=strURLsplit("[]");
if(strURLlength()>0)
{
if(arrSplitlength>1)
{
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=strURLtrim()toLowerCase();
arrSplit=strURLsplit("[]");
if(strURLlength()>1)
{
if(arrSplitlength>1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
return strAllParam;
}
/
解析出url参数中的键值对
如 "indexjspAction=del&id=123",解析出Action:del,id:123存入map中
@param URL url地址
@return url请求参数部分
/
public static Map<String, String> URLRequest(String URL)
{
Map<String, String> mapRequest = new HashMap<String, String>();
String[] arrSplit=null;
String strUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
return mapRequest;
}
//每个键值为一组 >
java获取客服端信息(系统,浏览器等)
String agent = requestgetHeader("user-agent");
Systemoutprintln(agent);
StringTokenizer st = new StringTokenizer(agent,";");
stnextToken();
String userbrowser = stnextToken();
Systemoutprintln(userbrowser);
String useros = stnextToken();
Systemoutprintln(useros);
Systemoutprintln(SystemgetProperty("osname")); //win2003竟然是win xp?
Systemoutprintln(SystemgetProperty("osversion"));
Systemoutprintln(SystemgetProperty("osarch"));
Systemoutprintln(requestgetHeader("user-agent")); //返回客户端浏览器的版本号、类型
Systemoutprintln(requestgetMethod()); //:获得客户端向服务器端传送数据的方法有get、post、put等类型
Systemoutprintln(requestgetRequestURI()); //:获得发出请求字符串的客户端地址
Systemoutprintln(requestgetServletPath()); //:获得客户端所请求的脚本文件的文件路径
Systemoutprintln(requestgetServerName()); //:获得服务器的名字
Systemoutprintln(requestgetServerPort()); //:获得服务器的端口号
Systemoutprintln(requestgetRemoteAddr()); //:获得客户端的ip地址
Systemoutprintln(requestgetRemoteHost()); //:获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址
Systemoutprintln(requestgetProtocol()); //:
Systemoutprintln(requestgetHeaderNames()); //:返回所有request header的名字,结果集是一个enumeration(枚举)类的实例
Systemoutprintln("Protocol: " + requestgetProtocol());
Systemoutprintln("Scheme: " + requestgetScheme());
Systemoutprintln("Server Name: " + requestgetServerName() );
Systemoutprintln("Server Port: " + requestgetServerPort());
Systemoutprintln("Protocol: " + requestgetProtocol());
Systemoutprintln("Server Info: " + getServletConfig()getServletContext()getServerInfo());
Systemoutprintln("Remote Addr: " + requestgetRemoteAddr());
Systemoutprintln("Remote Host: " + requestgetRemoteHost());
Systemoutprintln("Character Encoding: " + requestgetCharacterEncoding());
Systemoutprintln("Content Length: " + requestgetContentLength());
Systemoutprintln("Content Type: "+ requestgetContentType());
Systemoutprintln("Auth Type: " + requestgetAuthType());
Systemoutprintln(">
把post的改成put试试
>
put(K, V) - 类 javautilAbstractMap 中的方法
将指定的值与此映射中的指定键关联起来(可选 *** 作)。
put(K, V) - 类 javautilconcurrentConcurrentHashMap 中的方法
将指定 key 映射到此表中的指定 value。
put(K, V) - 类 javautilDictionary 中的方法
将指定 key 映射到此 dictionary 中指定 value。
put(K, V) - 类 javautilEnumMap 中的方法
将指定值与此映射中指定键关联。
put(K, V) - 类 javautilHashMap 中的方法
在此映射中关联指定值与指定键。
put(K, V) - 类 javautilHashtable 中的方法
将指定 key 映射到此哈希表中的指定 value。
put(K, V) - 类 javautilIdentityHashMap 中的方法
在此标识哈希映射中关联指定值与指定键。
put(Object, Object) - 类 javautiljarAttributes 中的方法
在此 Map 中将指定的值关联到指定的属性名称(键)。
put(K, V) - 接口 javautilMap 中的方法
将指定的值与此映射中的指定键相关联(可选 *** 作)。
put(String, String) - 类 javautilprefsAbstractPreferences 中的方法
根据 Preferencesput(String,String) 中的规范实现 put 方法。
put(String, String) - 类 javautilprefsPreferences 中的方法
将指定值与此首选项节点中的指定键相关联。
put(K, V) - 类 javautilTreeMap 中的方法
在此映射中关联指定值与指定键。
put(K, V) - 类 javautilWeakHashMap 中的方法
关联此映射中的指定值与指定键。
1 ActionContext
在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet >
以上就是关于java 能获取带参数的url吗全部的内容,包括:java 能获取带参数的url吗、java解析出url请求的路径和参数键值对类、java怎么获取客户端的请求信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)