一个关于jsp页面跳转的问题

在index.jsp里面图片能正常显示,登陆后,表单递交给servlet,servlet里面用的是forward跳转到index,这是我图片不能显示,下面是index.j... 在index.jsp里面图片能正常显示,
登陆后,表单递交给servlet,servlet里面用的是forward跳转到index,这是我图片不能显示,
下面是index.jsp和servlet跳转后页面下同一个图片,他们url已经变化,下面那个url多了个servlet。
http://localhost:8080/webshoping/picture/shouye.gif
http://localhost:8080/webshoping/servlet/picture/shouye.gif
我的index.jsp页面是直接放在/webshoping/WebRoot/index.jsp
而sevlet放在/webshoping/src/com/webshop/servlet/SignOnServlet.java
图片直接放在/webshoping/WebRoot/picture/shouye.gif
我在JSP里面使用的是src="./picture/shouye.gif"取到图片,在index.jsp能正常显示啊。
两外请高手们在清除的讲解下,request.getRequestURI()和 forword()的用法。最好用例子说明
展开
 我来答
dsheen
2009-08-18 · TA获得超过898个赞
知道大有可为答主
回答量:1874
采纳率:0%
帮助的人:1335万
展开全部
按照你的写法肯定会出现这样的错误,你的servlet和jsp不在相同层次的目录下。
要根本解决这个问题,也很简单。
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
在jsp页面上添加以上代码。
在引用图片src="<%=basePath%>picture/shouye.gif"的修改成:
src="./picture/shouye.gif"
这样问题就解决了。

其他办法:
1、不用forward,用redirect到jsp的办法
2、把servlet映射到和jsp同样的目录下
flsfycy
2009-08-18 · TA获得超过729个赞
知道小有建树答主
回答量:1002
采纳率:0%
帮助的人:717万
展开全部
src="../picture/shouye.gif"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nihaoakssyj
2009-08-19
知道答主
回答量:36
采纳率:0%
帮助的人:0
展开全部
路径前面加../

request.getRequestURI() 就是比如你的JSP页面路径是/test/admin/login.jsp

request.getRequestURI() 就是得到 /test/admin/login.jsp

request.getRequestURL() 就是得到http://localhost:8080/test/admin/login.jsp

forward 就是页面的跳转
<jsp:forward page="action?cmd=toMain">
action是Servlet的路径 可以在web.xml里面的<url-pattern>里找到
cmd是客户端传给Servlet的参数
参数的值为toMain
然后提交给Servlet判断跳转到那张页面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rookie926
2009-08-19 · TA获得超过1050个赞
知道小有建树答主
回答量:546
采纳率:0%
帮助的人:476万
展开全部
图片路径写绝对路径,即/webshoping/WebRoot/picture/shouye.gif这种的,不带“.”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式