JiveJdon Community Forums
在线332人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 9 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
获得Jsp相对路径的办法 发表: 2002年08月14日 11:08 回复
比如http://www.jdon.com:81/jive/temp/index.jsp中
如果要获得/jive/temp/这个路径,通过正常途径是比较难的。
Servlet API没有提供直接获得这种路径的办法,现在有一个解决办法如下:

//获得/jive/temp/index.jsp
String pathname = request.getRequestURI();
//去处index.jsp
File tempfile = new File(pathname).getParentFile();
//获得/jive/temp/
String realbase =pathname.substring(0,tempfile.toString().length()+1);
out.println("<br>"+"==="+realbase);

其他人有更好的主意吗?
cc

发表文章: 279
注册时间: 2002年08月07日 23:47
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年08月16日 09:03 回复
我想出了一个办法,可以用StringTokenizer类。

代码如下:
String pathName = request.getRequestURI();
StringTokenizer st=new StringTokenizer(pathName,":80/");//分离成两部分
String state = st.nextToken();//得到了www.jdon.com
String event = st.nextToken();//得到了jive/temp/index.jsp

虽然不是直接得到,但是比你的简单,对么?
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年08月16日 11:21 回复
好主意 但是有个缺点 端口一定是80 经常可能是其他如81 或8080
cc

发表文章: 279
注册时间: 2002年08月07日 23:47
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年08月16日 13:50 回复
那就先取它的端口,不过这样会变得很麻烦,脱离实际了。

或者直接以“/”分离,然后。。。。
javafan

发表文章: 7
注册时间: 2002年08月19日 13:21
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年08月19日 13:53 回复
好像这样就行:
<%= request.getContextPath() + "/" %>
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年08月19日 13:58 回复
你这是获得的是容器的路径,即是/jive/
而/jive/temp/就无法获得,我测试过几次
javafan

发表文章: 7
注册时间: 2002年08月19日 13:21
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年08月19日 14:00 回复
这样再试试:
<%= request.getRequestURI().substring(0, request.getRequestURI().length() - config.getServletName().length()) %>
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年08月19日 15:14 回复
你这个办法有点类似我那个办法,不知道如果存在端口81或8080
getServername.length()能不能计算在内
javafan

发表文章: 7
注册时间: 2002年08月19日 13:21
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年08月19日 16:35 回复
request.getRequestURI() : "/jive/temp/index.jsp"
config.getServletName() : "index.jsp"
andrawu

发表文章: 38
注册时间: 2002年09月13日 18:16
给他发消息
Re: 获得Jsp相对路径的办法 发表: 2002年09月14日 18:42 回复
out.println("<br>"+pathname.substring(0,pathname.lastIndexOf("/")+1)) ;
这个主题有 9 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam