Servlet内两种重定向方式
来源:互联网 发布:python mmap 编辑:程序博客网 时间:2024/05/16 06:19
Servlet内重定向方式
A:
javax.servlet.RequestDispatcher接口的forward方法
备注
方法调用
1. javax.servlet.ServletContext接口的getRequestDispatcher
2. javax.servlet.ServletContext接口的getNamedDispatcher
3. javax.servlet.ServletRequest接的getRequestDispatcher
1应用web.xml servlet定义路径eg: servlet/ServletA
2应用web.xml servlet定义名称 eg: ServletA
3应用web.xml servlet定义名称或路径 eg: ServletA
重定向servlet
1.getServletContext().getRequestDispatcher(“/servlet/ServletB”).forward(request,response);
2 . getServletContext().getNameDispatcher(“ServletB”).forward(request,response);
3 . request.getRequestDispatcher((“/servlet/ServletB”).forward(request,response)或
request.getRequestDispatcher((“ServletB”).forward(request,response)
重定向jsp
1.getServletContext().getRequestDispatcher(“/WEB-INF/jsp/login.jsp”).forward(request,response);
2 . 不能,否则抛NullPointerException
3 request.getRequestDispatcher(“/WEB-INF/jsp/login.jsp”).forward(request,response)
可以访问WEB-IINF/下资源
传递参数
Forward方法之前调用:
request.setAttribute(“param1”,”This is a request setAttribute param1”);
或
1. getServletContext().getRequestDispatcher(“/servlet/ServletB?param1=a”).forward(request,response);
2. getServletContext().getNameDispatcher(“ServletB?param1=a”).forward(request,response);
3 . request.getRequestDispatcher((“/servlet/ServletB?param1=a”).forward(request,response) 或者
request.getRequestDispatcher((“ServletB?param1=a”).forward(request,response)
B:
javax.servlet.http.HttpServletResponse接口的sendRedirect方法
备注
重定向servlet
response.sendRedirect(request.getContextPath()+"/servlet/ServletB");
比较forward()同sendRedirect()调用servlet或jsp的不同之处。
重定向jsp
response.sendRedirect(request.getContextPath()+"/login.jsp"),
如果为response.sendRedirect("login.jsp"),则会从当前servlet 的url路径下找login.jsp eg: http://10.1.18.8:8081/dms/servlet/ServletAà
http://10.1.18.8:8081/dms/servlet/login.jsp
如果为response.sendRedirect("/login.jsp")则会从当前服务器路径下查找url:http://10.1.18.8:8081/login.jsp
实际login.jsp 路径为:http://10.1.18.8:8081/dms/login.jsp
如果login.jsp在WEB-INF/jsp/目录下则response.sendRedirect(request.getContextPath()+"/WEB-INF/jsp/login.jsp"),找不到路径
传递参数
request.setAttribute(“param1”,”This is a request setAttribute param1”); 此方法实效。Jsp中 request.getAttribute(“param1”);为null.
通过链接传递参数eg:
response.sendRedirect
(request.getContextPath()+"/login.jsp?param1=a"),
或
response.sendRedirect、(request.getContextPath()+"/servlet/ServletB?param1=a");
- Servlet内两种重定向方式
- Servlet乱码处理方式/转发重定向
- SERVLET中的重定向
- Servlet 重定向问题
- servlet重定向
- servlet重定向
- servlet重定向问题
- servlet重定向
- Servlet 重定向原理
- 在servlet重定向
- Servlet中的重定向
- Servlet重定向
- servlet备忘[重定向]
- Servlet-重定向
- Servlet 网页重定向
- Servlet请求重定向
- Servlet 重定向原理
- Servlet 网页重定向
- OpenLDAP Installation and Configuration Guide
- [转贴From DFW]远程爆破,另类结束进程的方式(插入线程式)
- 存储过程,把查询结果赋给变量
- 今天看到的一篇js屏蔽键盘的代码,经典!
- ASP.NET2.0学习5--N层代码示例
- Servlet内两种重定向方式
- 网页键盘
- 程序人生:做技术,切不可沉湎于技术
- 060727
- 字母链接事件
- A moving English song
- 博客技巧----如何查看BLOG网站的CSS代码
- 键盘响应时间
- 深度解析VC中的消息