在servlet转向jsp页面的路径问题

requestDispatcher 对象可以有两中方式获得
1.通过request对象的getRequestDispatcher方法获得
2.通过ServletContext的getRequestDispatcher方法获得,但是这个方法获得的requestDispatcher 对象中的path必须以“/”开头,代表应用程序根目录,而第一中方法获得的requestDispatcher 对象则没有这种限制

不管是那种方式获得的,只要以"/"开头就代表应用程序根目录。你的问题出在jsp页面中链接和图片的路径使用都是相对路径,转向后的相对路径还是相对于你的Servlet所在的路径
比如你的servlet的地址是/servlet/myservlet,重定向到/aaa/bbb/myjsp.jsp后,这个jsp页面中图片的相对路径是img/aa.jpg,则此时图片的完整路径就变成了/servlet/img/aa.jpg,所以就显示不出来了。解决方案是把图片的路径写成<img src=<%=request.getContextPath()%>"/img/aa.jpg">或者<img src=${pageContext.request.contextPath}"/img/aa.jpg">,其它的链接也得改

时间: 2024-10-11 22:22:05

在servlet转向jsp页面的路径问题的相关文章

servlet和jsp页面过滤器Filter的作用及配置

刚刚有个朋友问我,Servlet的过滤器有什么作用? 现在发个帖子说明一下,            过滤器是一个对象,可以传输请求或修改响应.它可以在请求到达Servlet/JSP之前对其进行预处理,而且能够在响应离开Servlet /JSP之后对其进行后处理.所以如果你有几个Servlet/JSP需要执行同样的数据转换或页面处理的话,你就可以写一个过滤器类,然后在部署描述文 件(web.xml)中把该过滤器与对应的Servlet/JSP联系起来.你可以一个过滤器以作用于一个或一组servlet

关于 IDEA 自动识别问题,jsp页面Controller路径自动识别的问题

idea之所以强大,就是强大的代码提示和联想功能,写起代码来简直不要太爽.但是这几天我发现在我的jsp页面中访问controller路径的时候不会自动提示了,对于这么严谨的我肯定要找出原因啊,哈哈. 最终效果:按住ctrl,同时点击左键会自动跳转到对应的controller代码块,爽. 需要同时满足的条件 JSP页面顶部包含如下代码: <%@ page language="java" contentType="text/html; charset=UTF-8"

JSP与Servlet几种页面跳转的区别

Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面. 1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径.sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("http://www.ycul.com"); 跳转后浏览器地址栏变化. 这种方式要传值出去的话,只能在url中带param

Servlet、JSP中页面跳转的方式

一.Servlet:当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面.1)  redirect 方式response.sendRedirect("success.jsp");页面的路径是相对路径.sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:response.sendRedirect("http://www.ycul.com");跳转后浏览器地址栏变化.这种方式要传值出去的话,只能在url中带para

servlet传递数据库的表到jsp页面

我要实现的是跳转到目标jsp页面时,能直接的显示出来表中的信息,所以在跳转到jsp页面之前,就要先访问servlet.所以在主页面的跳转链接处写的应该是servlet的URL,并不是jsp页面的路径. 主页面: 1 <dd><a href="/MainContent" target="List">列表二</a></dd> servlet: 1 @WebServlet("/MainContent")

有关Servlet和JSP的梳理(二)

JSP JSP页面本质上是一个Servlet,JSP页面在JSP容器中运行,一个Servlet容器通常也是JSP容器. 当一个JSP页面第一次被请求时,Servlet/JSP容器主要做一下两件事情: ① 转换JSP页面到JSP页面实现类,该实现类是一个实现javax.servlet.jsp.JspPage接口或子接口javax.servlet.jsp.HttpJspPage的Java类.该实现类的类名由Servlet/JSP容器生成.如果出现转换错误,则相关错误信息将被发送到客户端. ② 如果转

图解 servlet 与jsp的关系

Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容.Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类. 如图所示,Java提供一系列接口类(所谓接口类就是类中所有方法只提供方法声明,不提供任何的方法实现,这些类的实现就留给后继者去做.):Servlet.ServletConfig.Serializable,然后通过多重继承产生一个最通用的Servlet

java servlet 几种页面跳转的方法及传值

java web 页面之间传值有一下这几种方式1.form 表单传递参数2.url地址栏传递参数3.session4.cookie5.application 6.通过隐藏域传值 7.通过JavaBean进行传值 8. request.setAttribute("strRequest", strRequest); 9.response.setAttribute("name",name)来传至下一个页面 10.response.sendRedirect():在用户的浏览

Servlet与JSP的关系

Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容.Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类. 如图所示,Java提供一系列接口类(所谓接口类就是类中所有方法只提供方法声明,不提供任何的方法实现,这些类的实现就留给后继者去做.):Servlet.ServletConfig.Serializable,然后通过多重继承产生一个最通用的Servlet