response.sendRedirect如何实现服务器端的重定向

coffee_cn 2005-02-22 05:13:51
response.sendRedirect在服务器端重定向后实现显示访问IP地址为服务器IP地址
可以实现吗??
...全文
287 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
XIHSHI 2005-02-24
  • 打赏
  • 举报
回复
昏倒了

看样子俺的功夫还是很差,我顶
wst302 2005-02-24
  • 打赏
  • 举报
回复
好容易才看懂你的意思......
用response.sendRedirect方法是实现不了的

你可以用serlvet的方法
RequestDispatcher dispatcher = request.getRequestDispatcher("xxx.jsp");
dispatcher.forward(request, response);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
赞同一下
enjoy330 2005-02-24
  • 打赏
  • 举报
回复
Server.Transfer("网业名称");
ytnice 2005-02-24
  • 打赏
  • 举报
回复
...
heshang213 2005-02-22
  • 打赏
  • 举报
回复
好容易才看懂你的意思......
用response.sendRedirect方法是实现不了的

你可以用serlvet的方法
RequestDispatcher dispatcher = request.getRequestDispatcher("xxx.jsp");
dispatcher.forward(request, response);
thrive_li 2005-02-22
  • 打赏
  • 举报
回复
确实不明白
jFresH_MaN 2005-02-22
  • 打赏
  • 举报
回复
晕。
说清楚,大家讨论讨论嘛,呵呵
coffee_cn 2005-02-22
  • 打赏
  • 举报
回复
哎呀,算了,
不问了,问了也白问
jFresH_MaN 2005-02-22
  • 打赏
  • 举报
回复
什么啊?不懂
flyxxxxx 2005-02-22
  • 打赏
  • 举报
回复
不明白
实现jsp页面间的跳转 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {   response.setContentType("text/html; charset=gb2312");   ServletContext sc = getServletContext();   RequestDispatcher rd = null;   rd = sc.getRequestDispatcher("/index.jsp"); //定向的页面   rd.forward(request, response); }   通常在servlet中使用,不在jsp中使用。    2.response.sendRedirect()   是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,sendRedirect()可以重定向有frame.的jsp文件.   重定向后在浏览器地址栏上会出现重定向页面的URL   例:在servlet中重定向 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {   response.setContentType("text/html; charset=gb2312");   response.sendRedirect("/index.jsp"); }   由于response是jsp页面中的隐含对象,故在jsp页面中可以用response.sendRedirect()直接实现重定位。   注意:    (1) 使用response.sendRedirect时,前面不能有HTML输出   这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说 JSP SERVER),这就意味着,除非你关闭了cache,或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前,有少量的HTML输出也是允许的。    (2) response.sendRedirect之后,应该紧跟一句return;   我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。   比较:    (1) Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;    (2) response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。   前者更加高效,在前者可以满足需要时,尽量使用RequestDispatcher.forward()方法.   注:在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。    3.   它的底层部分是由RequestDispatcher来实现的,因此它带有RequestDispatcher.forward()方法的印记。   如果在之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。   另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交    4.修改HTTP header的Location属性来重定向   通过设置直接修改地址栏来实现页面的重定向。    jsp文件代码如下:    5.JSP中实现在某页面停留若干秒后,自动重定向到另一页面   在html文件中,下面的代码:

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧