一个关于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()的用法。最好用例子说明 展开
登陆后,表单递交给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()的用法。最好用例子说明 展开
4个回答
展开全部
按照你的写法肯定会出现这样的错误,你的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同样的目录下
要根本解决这个问题,也很简单。
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同样的目录下
展开全部
src="../picture/shouye.gif"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
路径前面加../
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判断跳转到那张页面
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判断跳转到那张页面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图片路径写绝对路径,即/webshoping/WebRoot/picture/shouye.gif这种的,不带“.”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询