关于JSP中的response.sendRedirect和RequestDispatcher的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JSP中的response.sendRedirect和RequestDispatcher的区别相关的知识,希望对你有一定的参考价值。
(1)利用MyEclipse新建web project,在WebRoot目录下建立子目录admin和css,在admin目录下有1.jsp,在css目录下有s.css. (2)在1.jsp中通过以下代码使用样式文件s.css 侧栏 (3)在浏览器中浏览1.jsp文件,样式应用成功。 (4)新建一个Servlet.问题出现了,如果在Servlet通过 response.sendRedirect("admin/1.jsp"); 该句代码跳转到1.jsp后,样式表仍然起作用 但是如果通过以下方法跳转,跳转后在1.jsp中样式表不起作用。 RequestDispatcher rd = request.getRequestDispatcher("admin/1.jsp"); rd.forward(request, response); 这里就不明白两种跳转为什么有一种导致样式不生效呢。 如果将1.jsp不放在admin目录下,直接放置在WebRoot目录下,两种跳转方式跳转后,样式表文件都生效,但是不知道为什么1.jsp放置在admin子目录中后,ReqeustDispatcher的跳转方式跳转后样式文件不生效。 请各位大侠指教,小弟感激涕零
参考技术A 这个是一个基路径的问题,你把jsp的basePath设好就没问题了myeclipse
创建jsp默认有帮助设置basePath的吧,然后引用css文件采用basePath的相对路径。比如admin/1.jsp在basePath设置好之后就用css/s.css
关于jsp九大隐式对象
做项目了,发现自己有好多都还不懂,好久没有写随笔了 ,
关于自己最近学习的JavaWeb的jsp有九大隐式对象,这九大隐式对象分别对应着servlet中的对象
jsp隐式对象 | servlet对象 | 对应的类 | 作用 |
request | request | HttpServletRequest | 作用于一次请求,在请求中可用带上数据 |
pageContext | 页面上下文 | jsp.PageContext | 作用于jsp页面,可以通过此对象获取其他八大隐式对象 |
session | session | HttpSession | 作用于一次会话 |
application | servletContext | ServletContext | 作用于整个web容器 |
response | response | HttpServletResponse | 响应对象,通过此对象给用户响应 |
out | response.getWriter() | PrintWriter | 输出流,通过此对象将信息输出到response响应给用户 |
config | servletConfig | ServletConfig | servlet初始化对象,可以给servlet初始化一些配置信息 |
page | this | serlvet本身类 | 代表jsp页面本身,很少使用,在jsp中一般使用pageContext |
exception | servlet异常对象 | servlet异常类 | 异常类,用于获取页面的异常信息 |
四大作用域对象request,pageContext,session,application,,scope属性
request:代表了一次回话,pageContext代表jsp页面,session代表一次回话,application代表的整个web容器;
其中pageContext很特殊,我到现在都有点不明白页面上下文什么关系,可能由于可以通过他获取其他八个对象吧,
通过getXXX方法获取其他八个隐式对象,
以上是关于关于JSP中的response.sendRedirect和RequestDispatcher的区别的主要内容,如果未能解决你的问题,请参考以下文章
关于JSP中的response.sendRedirect和RequestDispatcher的区别