- 浏览: 83798 次
文章分类
- 全部博客 (32)
- java (32)
- java.lang.IncompatibleClassChangeError (1)
- mysql concat函数 字符串连接 (1)
- Java网络编程 (1)
- ActiveMQ中消息游标 (1)
- applicationContext-hibernate-transaction.xml (1)
- Google Chrome浏览器必备插件(附:Firefox火狐浏览器必备插件) (1)
- Oracle数据库文档构造器--Oraschemadoc (1)
- solaris essential (1)
- 使用Spring的test (1)
- org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are (1)
- 《代码之道》 (1)
- 三亚之行 (1)
- StatCVS 对使用CVS的项目进行深入统计的开源工具 (1)
- 读写PDF TIFF JPEG文件的JAVA类库 (1)
- 应用MapXtreme2004开发GIS代码(C#) 搜索TAB表中的元素 (1)
- 购物车的实现及结算处理[转] (1)
- 微软发布搜索引擎 兼谈几个搜索引擎的比较 (1)
- 对于嵌入式系统的学习 应该可以告一段落了 (1)
- 移动审批工作流设计与实现 (1)
- SIFT算法概述 (1)
- 腾讯微博java(android) sdk 话题相关api详细介绍 (1)
- No configuration found. Configuring ehcache from ehcache-failsafe.xml (1)
- memcached client -- spymemcached使用 (1)
- Simple XML (1)
- 空指针错误 java.lang.NullPointerException (1)
- 服务器重起 (1)
- Spring中Quartz的Cron表达式详解 (1)
- swt 开发 (1)
- res.sendRedirect()和req.getRequestDispatcher().forward(req (1)
- res)的区别 (1)
- JAVA类设计技巧 (1)
- java之socket编程之谈 (1)
- 总结一下iteye上的足迹 (1)
最新评论
res.sendRedirect()和req.getRequestDispatcher().forward(req,res)的区别
res.sendRedirect()=重定向 forward(req,res)=转发
重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。
怎么选择是重定向还是转发呢?通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,开始页面将会被重新调用。如果你不想看到这样的情况,则选择转发。
转发和重定向的区别
不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题。
重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。
res.sendRedirect的用法:res.sendRedirect("123.jsp?name=123")
接收参数时用req.getparameter("name")
req.getRequestDispatcher的用法:
req.setAttribute("clobal",vclobal);
req.getRequestDispatcher("balsearch.jsp").forward(req,rep);
接收参数时用
request.getAttribute("clobal");
一般getAttribute获得是一个对象,转换成String时用
(String) request.getAttribute("clobal")
将int转换成String用String r=String.valeOf(x);
发表评论
-
总结一下iteye上的足迹
2012-02-08 14:57 792<span style="bac ... -
java之socket编程之谈
2012-02-08 13:43 954<span style="col ... -
JAVA类设计技巧
2012-02-04 15:24 8951.一定要将数据设计为private 2.一定要 ... -
swt 开发
2012-02-03 17:14 9531. 下载 eclipse 3.7 2. 安装 goo ... -
Spring中Quartz的Cron表达式详解
2012-02-03 15:39 916<table style="& ... -
服务器重起
2012-02-03 14:54 635内报:141 外报:143,133 ? 外服:128 ... -
空指针错误 java.lang.NullPointerException
2012-02-02 14:44 931使用 ... -
Simple XML
2012-02-01 10:04 960<p style=""> ... -
memcached client -- spymemcached使用
2012-02-01 09:49 1343<a href="http://blo ... -
No configuration found. Configuring ehcache from ehcache-failsafe.xml
2011-12-28 13:23 1126<span style="font-f ... -
腾讯微博java(android) sdk 话题相关api详细介绍
2011-12-28 11:39 788<span style="font-f ... -
SIFT算法概述
2011-12-21 09:44 1005<span></span> & ... -
移动审批工作流设计与实现
2011-12-20 10:59 1183<p style="text-ind ... -
对于嵌入式系统的学习 应该可以告一段落了
2011-12-19 10:19 741最近看了些关于嵌入式系统的资料,脑袋里对嵌入式开发的概 ... -
微软发布搜索引擎 兼谈几个搜索引擎的比较
2011-12-17 10:44 840微软于昨天(11月11日)正式发布其搜索引擎。这个是网 ... -
购物车的实现及结算处理[转]
2011-12-16 17:07 2699注:此文章来自CSDN。觉得代码挺清晰的,而且可能很多 ... -
应用MapXtreme2004开发GIS代码(C#) 搜索TAB表中的元素
2011-12-15 12:09 949</span></span>& ... -
读写PDF TIFF JPEG文件的JAVA类库
2011-12-14 09:49 3052这几种常见文件格式的读写类库,有人收集好了,详见下面网 ... -
StatCVS 对使用CVS的项目进行深入统计的开源工具
2011-12-14 09:19 757这个工具很好,主要是分析cvs的log得出统计结果,以 ... -
三亚之行
2011-12-13 15:29 633三亚的确是个不错的地方,人民热情,空气好,风景也好。山 ...
相关推荐
req.getRequestDispatcher("/err.jsp").forward(req, resp); return; } else if ("delete".equals(action)) { String gid = req.getParameter("gid"); int gidNumber = Integer.parseInt(gid); ...
action=list").forward(req, resp);` 这行代码表示在服务器端接收到表单请求后,不直接返回响应给客户端,而是将请求转发到另一个资源(这里是列出图书的Servlet)。这种方式可以防止浏览器重定向,避免了F5刷新...
在Java Web开发中,JSP(JavaServer Pages)常常与Servlet和过滤器(Filter)结合使用,以实现更复杂的业务逻辑和控制流程。过滤器在请求到达目标资源(如JSP页面或Servlet)之前和之后执行,可以用来进行权限验证、...
request.getRequestDispatcher("loginForm.jsp").forward(request, response); // 重新显示登录表单并显示错误消息 } } private boolean isValidUser(String username, String password) { // 这里应实现实际...
request.getRequestDispatcher("loginForm.jsp").forward(request, response); } } } ``` 接下来,我们引入Filter。Filter在Servlet容器中拦截请求和响应,允许在请求到达目标Servlet或响应返回给客户端之前进行...
例如,req.getRequestDispatcher(URI).forward(req, resp); 2. 重定向 重定向是一种客户端的跳转,浏览器会收到一个新的 URL,浏览器的地址栏会改变。在重定向过程中,服务器会将请求重定向到另外一个 URL,浏览器...
request.getRequestDispatcher("error.jsp").forward(request, response); } } private boolean isValid(String username, String password) { // 这里通常连接数据库进行验证,这里简化为硬编码 return ...
dispatcher.forward(request, response); } ``` 在这个过程中,由于`forward()`是服务器端的转向,所以请求会经过Filter,即使URL未发生变化,Filter依然能够捕获并处理请求。这就是在JavaWeb中使用`Forward`方式...
dispatcher.forward(req, resp); // 转发 resp.sendRedirect("/newLocation"); // 重定向 ``` 6. **会话管理** `HttpServletRequest`提供了管理用户会话的方法,如`getSession()`创建或获取会话,`setAttribute...
SERVLET 可以使用 response.sendRedirect(path) 或 request.getRequestDispatcher(path).forward(req,res) 方法来实现页面转发。 Servlet 的生命周期是 SERVLET 的核心概念,理解 SERVLET 的生命周期是非常重要的。...
例如,使用`RequestDispatcher`的`forward()`方法:`request.getRequestDispatcher("req2.jsp").forward(request, response)`。转发保持了请求的上下文,之前的request、session中的数据仍然可用。 在JSP中,符号...
forward可以使用request.getRequestDispatcher("转发路径").forward(request, response);实现,而redirect可以使用response.sendRedirect("重定向的路径")实现。 5. JSP内置对象和作用 JSP有九个内置对象:request...
req.getRequestDispatcher("login.jsp").forward(req, resp); } } } ``` success.jsp页面的实现 success.jsp页面用于显示登录成功的信息。其代码如下所示: ```jsp <h1>succ1 String username=(String)session....
rd.forward(request, response); ``` - **重定向**(Redirect):服务器告诉浏览器去访问另一个地址,浏览器地址栏中的URL会发生变化。这种方式不会保留原始请求数据。 ```java response.sendRedirect("welcome...
- `req.getRequestDispatcher("/资源路径").forward(req, resp);`:将请求转发到指定资源。 - **重定向**:客户端行为,用于将请求重定向到一个新的URL。重定向后客户端浏览器地址栏中的URL会发生变化。 - `resp....
- **转发**(服务器端跳转):使用`request.getRequestDispatcher().forward()`实现,地址栏不会改变,请求和响应对象可以跨页面传递,且转发后可以连续传递。执行到`forward()`后,后续代码不再执行。 - **重定向...
req.getRequestDispatcher("/WEB-INF/jsp/test.jsp").forward(req,rsp); } } ``` 在上面的代码中,我们使用了 HttpServletResponse 对象来实现输出、重定向和转发。 三、使用 Spring MVC annotation Spring MVC ...
- **Forward**: 当使用 `request.getRequestDispatcher("url").forward(request, response);` 进行转发时,客户端浏览器的地址栏不会发生变化,请求是在服务器端内部完成的。这意味着转发后页面仍然处于同一个请求...
- 示例:`request.getRequestDispatcher("success.jsp").forward(request, response);` - **重定向**:服务器通知客户端重新向另一个地址发起请求。客户端会发出两次请求,并且地址栏中的URL会发生变化。 - 示例:...
- `service(ServletRequest req, ServletResponse res)`: 处理请求的核心方法,可以被多次调用。 - `destroy()`: 清理资源的方法,仅在Servlet销毁前调用一次。 - `getServletConfig()`: 获取当前Servlet的配置...