Jsp 四种跳转方式

四种跳转方式
request.getRequestDispacher().forward()跳转:
(1)服务器端跳转。
(2)执行后立即跳转。
<jsp:forward>跳转:
(1)实际上是对上面 forward 方法的封装,属于服务器端跳转,跳转之后地址栏不改变。
(2)执行到后立刻跳转。跳转之前的语句会执行,跳转之后的语句将不会执行。如果在 JSP
中使用了 JDBC 的话,必须在跳转之前进行数据库的关闭,否则数据库将无法关闭。

response.sendRedirect()跳转:
(1)又叫重定向,属于客户端跳转,跳转之后地址栏改变,不传递 request 属性。
(2)在所有语句执行完后才完成跳转操作。
超链接跳转:
(1)<a href="chkbox.html">点击这里</a>
(2)属于客户端跳转
注:两大类跳转——服务器端跳转与客户端跳转区别

服务器端跳转是在服务器内部执行的,无论跳转多少次都是一次 request,地址栏看不到
变化。服务器跳转属于立即跳转,不会执行跳转后面的语句。
重定向,其实是两次 request, 第一次,客户端 request A,服务器响应,并 response 回来,
告诉浏览器,你应该去 B。这个时候 IE 可以看到地址变了。重定向可以访问自己 web 应用
以外的资源。在重定向的过程中,传输的信息会被丢失。
举例:
客户端跳转(重定向):你先去了 A 局,A 局的人说:“这个事情不归我们管,去 B局”,然
后,你就从 A 退了出来,自己乘车去了 B局。
服务器端跳转(转发):你先去了 A 局,A 局看了以后,知道这个事情其实应该 B局来管,
但是他没有把你退回来,而是让你坐一会儿,自己到后面办公室联系了 B的人,让他们办
好后,送了过来。
2、何时使用 getAttribute()和 getParameter()?
使用 getParameter()表示接收参数,参数来源有以下三种:
(1)表单提交
(2)地址重写
(3)通过<jsp:include>、<jsp:forward>传递而来的参数
前面有 setAttribute(),则使用 getAttribute()。getParameter()无法接收 setAttribute()传递来的参
数。
3、解决乱码方式
(1)Page 指令中的 charset 和 pageEncoding 是设置的当前页面的使用字符集
(2)request.setCharacterEcoding()是处理客户端请求是统一编码
(3)sql 语句中加入:?useUnicode=true&setcharacterEncoding=utf-8 是把插入数据库的内容
转码
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北顾丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值