JSP
1 forward 和redirect的区别
一句话,转发是服务器行为,重定向是客户端行为。为什么这样说呢,这就要看两个动作的工作流程:
转发过程:客户浏览器发送http请求----》web服务器接受此请求--》调用内部的一个方法在容器内部完成请求处理和转发动作----》将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。
重定向过程:客户浏览器发送http请求----》web服务器接受后发送302状态码响应及对应新的location给客户浏览器--》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址----》服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。
(1)从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。
(2)从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.
forward,方法只能在同一个Web应用程序内的资源之间转发请求.forward 是服务器内部的一种操作.
redirect 是服务器通知客户端,让客户端重新发起请求.
(3)从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
(4)从效率来说
相关文档:
a.jsp页面内容:
%26lt;%@ page language="java" import="java.util." pageEncoding="GB2312"%%26gt;%26lt;form action="b.jsp"%26gt; name:%26lt;input type=text name=name%26gt; %26lt;input type=submit%26gt;%26lt;/form%26gt;
b.jsp页面内容:
%26lt;%@ page language="java" import="java.util." pageE ......
1、如何显示目录列表:
我们在本机测试程序时,一般都习惯在浏览器中就能遍历到某个目录下都有哪些文件,这就需要web服务器支持目录列表:
打开文件conf/web.xml,找到以下代码:
<param-name>listings</param-name>
<param-value>false</param-value>
将其中的false改成true
2、配置error-p ......
做了一个小模块 需要 在jsp页面上按照Excel报表格式显示表头 虽然不复杂 但是第一次做 留个纪念
这些东西高手当然是不需要了 但是对于没做过的 可能会给你一点点收获
要注意的是 表头的rowspan和colspan 横竖要匹配 不然下面再添加 表格会乱 有啥不清楚的 欢迎留言
<%@ page language="java" pageEncoding="UT ......
1、配置java环境,MyEclipse7.0。配置jboss5.0,展开选择jdk为已安装的jdk路径。
2、安装2005和sql2000,装2000时要装sp4.驱动选择jdbc2.0。再装2000时实例名自己输入一个。这里的问题就是登录名和密码的设置,右击“SQL Server组”下的实例名(Windows NT)"的“属性”,在弹出的对话框 ......