社区
Web 开发
帖子详情
重定向的问题?
xsxiaobao
2003-02-23 08:56:23
我用
....
Bean1 b = new Bean1();
request.setAttribute("d", b.testXML());
response.sendRedirect(parserURL);
.....
我在JSP里引用request的值却没有,这是怎么回事,是不是不是这样传的.???
还有个问题,forward和上面那个有什么区别呀.?
急等,多谢!
...全文
77
12
打赏
收藏
重定向的问题?
我用 .... Bean1 b = new Bean1(); request.setAttribute("d", b.testXML()); response.sendRedirect(parserURL); ..... 我在JSP里引用request的值却没有,这是怎么回事,是不是不是这样传的.??? 还有个问题,forward和上面那个有什么区别呀.? 急等,多谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xsxiaobao
2003-02-24
打赏
举报
回复
这是servlet的代码
----------------------------------------------------------------------------------
package xmlproject;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import testejb.*;
import xmlproject.*;
public class testServlet
extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
String parserURL =
"http://developer:7001/jstl/standard-examples/xml1/Parse.jsp";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doPost(request, response);
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// response.setContentType(CONTENT_TYPE);
String redirect=request.getParameter("redirect") ;
redirect="init";
if(redirect.equals("init") ){
try{
Bean1 b = new Bean1();
request.setAttribute("d", b.testXML());
request.setAttribute("a","a") ;
request.getRequestDispatcher(parserURL).forward(request,response);
// response.sendRedirect(parserURL);
//return;
}catch(Exception ex){
ex.printStackTrace() ;
}
}else if(redirect.equals("add") ){
response.sendRedirect(parserURL);
}else if(redirect.equals("upd")){
response.sendRedirect(parserURL);
}else if(redirect.equals("del")){
response.sendRedirect(parserURL);
}
}
//Clean up resources
public void destroy() {
}
// RequestDispatcher rd = this.getServletContext().getRequestDispatcher( "/servlet/ControlCenter?FunctionID=1021&flag=0&id=" + id );
//req.setAttribute("sqls",sqls);
//rd.forward( req, res );
//在jsp中的forward在servlet中对应的应该是这样的,可以把参数传过去。
//在req中还可以传一些别的对象。
}
----------------------------------------------------------------------------------
这是JSP的代码
----------------------------------------------------------------------------------
<%@ page contentType="text/html; charset=gb2312" import="java.util.*" %>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>JSTL: XML Support -- Parse</title>
</head>
<body bgcolor="#FFFFFF">
<h3>Parse from Objects and URLs</h3>
<%
String str=(String)request.getAttribute("a");
out.print("a="+str);
%>
</body>
</html>
----------------------------------------------------------------------------------
全在这里了,高手过目一下!多谢.
xiaofenguser
2003-02-24
打赏
举报
回复
这样写没有错,把你转向的代码和接收的代码贴全一点看一下.
xsxiaobao
2003-02-24
打赏
举报
回复
楼上的大侠:
按照你上面这样做我的JSP代码需不需要另要写些什么呀.我现在的JSP里是这样写的:
<%
String str=(String)request.getAttribute("d");
out.print("d="+str);
%>
可是打出来d是null,这是怎么回事,我在servlet用最简单的设置:
request.setAttribute("d","this is d");
应该没道理出错呀,!
请指教!
xiaofenguser
2003-02-24
打赏
举报
回复
Bean1 b = new Bean1();
request.setAttribute("d", b.testXML());
response.sendRedirect(parserURL);
改成:
Bean1 b = new Bean1();
request.setAttribute("d", b.testXML());
request.getRequestDispatcher(parserURL).forward(request,response);
KevinChu
2003-02-24
打赏
举报
回复
UP
doodoofish
2003-02-24
打赏
举报
回复
这里应该用Forward,把request一起传递过去,否则当然在request里找不到了。
sendRedirect最好只用来切换网页;用到传送对象的时候,应当用Forward。
一是因为Forward能把request里的东西一起传递到目的URL。
二是因为Forward只在Server一段转递,不需要再经过网络上的一个回路,节省时间。而sendRedirect必须把信息再送回客户端,经由浏览器再解析重新发回服务器,在网络上整整绕了一大圈。
其实Forward是推荐的方法。
lkenshin
2003-02-24
打赏
举报
回复
无能为力,帮你up吧
xsxiaobao
2003-02-24
打赏
举报
回复
各位兄弟姐妹过来看看,帮帮忙呀.!
----------------------------------------------------------------------------------
xsxiaobao
2003-02-24
打赏
举报
回复
多谢风大哥,小弟在杭州混,主要是搞j2ee开发企业网站的,以后多多交流,谢谢.
xiaofenguser
2003-02-24
打赏
举报
回复
我在resin2.1.5下的测试例子(正常的,结果是显示"test"),你试一下看看,不知道会不会是服务器不同的原因!
//TPost.java
----------------------------------------------------------------------------
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TPost extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
String url = "/2.jsp";
request.setAttribute("b", "test");
request.getRequestDispatcher(url).forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doGet(request, response);
}
}
------------------------------------------------------------------------------
2.jsp
------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%
String b = (String)request.getAttribute("b");
out.print(b);
%>
xsxiaobao
2003-02-24
打赏
举报
回复
我试了.
还是没用!
xiaofenguser
2003-02-24
打赏
举报
回复
String parserURL =
"http://developer:7001/jstl/standard-examples/xml1/Parse.jsp";
应该是这个链接地址的原因,你写成String parserURL = "/jstl/standard-examples/xml1/Parse.jsp";
看一下.
什么是
重定向
,怎么解决
重定向
问题
重定向
是指当用户访问一个网页时,服务器将用户的请求指向另一个页面的过程。通常,服务器会返回一个特定的状态码来告诉浏览器该进行
重定向
操作。
重定向
可以在不同的场景中发生,例如网站的URL更改、页面跳转和访问权限限制等。
重定向
是一种常见的技术,在网络应用中具有广泛的应用。它可以帮助我们解决URL更改、页面跳转和访问控制等
问题
。在处理
重定向
时,我们需要选择合适的
重定向
方法,并确保不会发生无限
重定向
的情况。通过代码示例,我们展示了如何使用
重定向
来实现不同的功能。
解决
重定向
问题
解决
重定向
问题
Apache Rewrite
重定向
问题
汇总
apache 的 rewrite模块 用了也有段时间了。每次都是先从历史中找资料修改。今天腾出点时间整理下和大家分享一下,其实rewrite规则超多,我也没有全部理解,实践中我用的一些列出来,相信一般应用的朋友足够了 为什么需要用重写规则? 他人总结:一个网站,如果是长期需要放在internet上提供服务,必定会有不断地更新和维护,如临 时转移到其它服务器进行维护,重新组织目
【Nginx】匹配
重定向
问题
Nginx 匹配
重定向
问题
需求 由于老地址不再维护,需要将请求以一定的格式转到新地址。 例如: http://xxx/query/123 转到 https://xxx/query.html?no=123 解决方法 配置Nginx匹配转发就可解决
问题
。 配置如下: location ~ /query { rewrite ^/query/(.*) https://xxx/query.html?no=$1 permanent; } 这样就可以将监听域名下的/query/123
重定向
到/query
ajax 遇到
重定向
,ajax
重定向
跨域
问题
最近遇到一个
问题
:一个页面发 ajax 请求到后端接口,这个后端接口返回 302 状态码,并
重定向
了另外一个域名的地址,此时出现跨域
问题
ajax 调用浏览器组件发起的请求和浏览器直接发起的请求有一定区别。1.浏览器可以通过返回的 http 状态进行相应的操作,如访问一个页面,此页面
重定向
时,浏览器可以获取到
重定向
后的 url 然后进行转向。2.对于 ajax,ajax 的目的就是无刷新的,所以对于...
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章