关于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的区别

关于servlet 和jsp中的 session对象

关于JSP网站开发技术中的两种模式分析

关于Jsp中的ArrayList。我在做一个毕业设计,是从一个网上下的一个项目,一直在修改,不过Jsp出现问题!

关于jsp的date输入问题

关于js在jsp页面中获取session的问题