100分急求答案:request.getRequestURL()为什么得到的是servlet的路径?

Kaya 2004-11-26 05:49:25
我在servlet中用request.getRequestURL()怎么得到的是servlet的路径不是html的路径呢?
程序是由test.html提交到转到servlet的.
test.html:
...
<form name="test" action="post" action="/XMLServlet/OSSServlet" method="post">
</form>

然后我在OSSServlet的doPost中:
public void doPost(HttpServletRequest req, HttpServletResponse resp)
{
String url = req.getRequestURL();
System.out.println(url);
}

结果返回的是OSSServlet的路径:
http://server_host:8080/XMLServlet/OSSServlet

我如何才能得到请求页test.html的路径呢?就像酱紫:
http://server_host:8080/test.html

前提是不把路径的值加在form里传递到servlet中。
谢谢~
...全文
289 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yufeng13 2005-01-18
  • 打赏
  • 举报
回复
学习
Kaya 2004-11-29
  • 打赏
  • 举报
回复
谢谢各位,已经解决,用request.getHeader("referer")就可以。结贴 :)
liuyonghailiuyong 2004-11-27
  • 打赏
  • 举报
回复
学习!
angelheart 2004-11-27
  • 打赏
  • 举报
回复
要取上一及的url,只要获取request.getHeader("referer");就行了
haroyy 2004-11-26
  • 打赏
  • 举报
回复
request.getHeader("Referer");
lousir 2004-11-26
  • 打赏
  • 举报
回复
request.getRequestURL()里面要有个“.”吧这样就是指例出当前路径的物理地址了
lshefan 2004-11-26
  • 打赏
  • 举报
回复
getRequestURL是取得客户端要访问的URL而不是源文件路径,html发到客户端浏览器后那已经不在服务器端了,你怎么能说访问来自那个HTML呢
要得到原先访问过的页面路径,你还是把它set到session里面或者页面上放一个隐藏项目,把它回传给服务器,然后再取。
jFresH_MaN 2004-11-26
  • 打赏
  • 举报
回复
呵呵,不好意思,刚才没看清楚
你说的是取不到的,只有当请求的字符串传近来
jFresH_MaN 2004-11-26
  • 打赏
  • 举报
回复
request.getRequestURL():
Kaya 2004-11-26
  • 打赏
  • 举报
回复
啥意思?也就是我除非把那个URL的值写到form里,就没办法拿到请求页的URL了吗?呜呜
zzhou1982 2004-11-26
  • 打赏
  • 举报
回复
<form name="test" action="post" action="/test.html" method="post">
</form>
传哪个取哪个,不会出意外地

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧