javaurl路径
‘壹’ java url路径问题
到session里去查询一下有没有用户信息,(当然登录时要将用户信息写到session中),没有就跳转到登录界面,有就跳转到首页了
‘贰’ java中如何实现URL类
java中实现URL类,可以使用java工具类中的URL的类,实例如下:
importjava.io.*;
importjava.net.*;
publicclassURLTest
{
publicstaticvoidmain(String[]args)
{
try
{
URLurl=newURL("http://sports.163.com:80/nba/");//创建资源类型
Stringprotocol=url.getProtocol();//获取资源类型
Stringhost=url.getHost();//获取域名
intport=url.getPort();//获取端口
Stringfile=url.getFile();//获取路径
System.out.println("url地址的资源类型为:"+protocol+"域名为:"+host+"端口为:"+port+"路径为:"+file);
InputStreamis=url.openStream();//获取页面信息流
BufferedReaderbfr=newBufferedReader(newInputStreamReader(is));//封装成字符流
Stringlen;
while((len=bfr.readLine())!=null)
{
System.out.println(len);
}
bfr.close();
is.close();
}
catch(MalformedURLExceptione)
{
System.out.println("创建URL对象发生异常");
}
catch(IOExceptione)
{
System.out.println("发生IO操作异常");
}
}
}
‘叁’ java解析出url请求的路径和参数键值对类
解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。
packageRequestPackage;
importjava.util.HashMap;
importjava.util.Map;
publicclassCRequest{
/**
*解析出url请求的路径,包括页面
*@paramstrURLurl地址
*@returnurl路径
*/
publicstaticStringUrlPage(StringstrURL)
{
StringstrPage=null;
String[]arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()>0)
{
if(arrSplit.length>1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}
returnstrPage;
}
/**
*去掉url中的路径,留下请求参数部分
*@paramstrURLurl地址
*@returnurl请求参数部分
*/
(StringstrURL)
{
StringstrAllParam=null;
String[]arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()>1)
{
if(arrSplit.length>1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
returnstrAllParam;
}
/**
*解析出url参数中的键值对
*如"index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
*@paramURLurl地址
*@returnurl请求参数部分
*/
publicstaticMap<String,String>URLRequest(StringURL)
{
Map<String,String>mapRequest=newHashMap<String,String>();
String[]arrSplit=null;
StringstrUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
returnmapRequest;
}
//每个键值为一组www.2cto.com
arrSplit=strUrlParam.split("[&]");
for(StringstrSplit:arrSplit)
{
String[]arrSplitEqual=null;
arrSplitEqual=strSplit.split("[=]");
//解析出键值
if(arrSplitEqual.length>1)
{
//正确解析
mapRequest.put(arrSplitEqual[0],arrSplitEqual[1]);
}
else
{
if(arrSplitEqual[0]!="")
{
//只有参数没有值,不加入
mapRequest.put(arrSplitEqual[0],"");
}
}
}
returnmapRequest;
}
}
测试类
packageRequestPackage;
importjava.util.Map;
publicclassTestCRequest{
/**用于测试CRequest类
*@paramargs
*/
publicstaticvoidmain(String[]args){
//请求url
Stringstr="index.jsp?Action=del&id=123&sort=";
//url页面路径
System.out.println(CRequest.UrlPage(str));
//url参数键值对
StringstrRequestKeyAndValues="";
Map<String,String>mapRequest=CRequest.URLRequest(str);
for(StringstrRequestKey:mapRequest.keySet()){
StringstrRequestValue=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
1,URLEncoder.encode(URLEncoder.encode(request.getRequestURI(),"GBK")); 再解码;
2,可以用二进制,先把中文全部转换,然后传值,在服务器中相应的转换为10进制;
‘伍’ java中目录的URL地址怎么表示
不明白LZ的意思,这个URL是标准统一的,http://、file:///、ftp://等都可以
‘陆’ Java中路径的获取总结以及URL和URI的区别
路径获取分直接写死在代码上和动态获取路径。直接写死就不说了,动态获取方法很多最常用的../和${pageContext.request.contextPath},获取路径可以用getClass().getResource()。URl和URL一个是相对路径一个是绝对路径,比如相对路径和你同包的你直接写对象(类,各种格式文件)名字就行,绝对路径就是你的项目名+包+你的应用名。
‘柒’ 请问java如何获取当前url路径
可以通过“ 类名.class.getResource("").getPath()”方法实现。
举例:”String path = XMLS.class.getResource("").getPath()“.
解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件)。
‘捌’ java ajax的url路径问题
url在访问的时候,都要经过web.xml配置的Filter过滤器。
像我的是Struts配置的是action.
<filter>
<filter-name>struts</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
具体看你的配置,可以任意的哦。
‘玖’ JAVA的监听程序如何获取系统访问的URL路径
ServletContextListener
这个类
在web.xml
配置完成后
在tomcat
等
开启的时候
会自动执行
void
contextInitialized(ServletContextEvent
arg)
这个方法
在这里面
arg.getServletContext().getResource("/").toString()这个
好像可以获得
你说的那个东西
不知道对不对
这个输出的结果是
jndi:/ip/部署名称不知道是不是你想要的
‘拾’ java后台的一个url路径(比如http//:192.168.1.2:8080/servlit
"浏览器上能打开这个get请求得到对应的数据" 证明服务器端是好使的。
“安卓客户端”如果也向同样的url发起GET请求,应该也能得到一样的数据。
如果遇到问题请贴出具体代码供大家分析。