我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > jsp中转发是怎么定义的、表单中文如何处理以及路径问题
总共48087条微博

动态微博

查看: 8469|回复: 34

jsp中转发是怎么定义的、表单中文如何处理以及路径问题

[复制链接]

57

主题

5

听众

129

金钱

三袋弟子

该用户从未签到

跳转到指定楼层
楼主
发表于 2014-03-15 22:25:50 |只看该作者 |倒序浏览
1、转发
5 Z0 q" |9 q6 m1 P: w% g 1)什么是转发?0 ~9 r+ p% k! G$ v0 G3 y
  一个web组件(jsp/servlet)将未完成的处理
% j% e9 l9 b: A' w3 B6 f) | 转交给另一个web组件继续处理。转发的各个组7 W/ P( {& j% q1 V! c
件会共享request和response对象。4 C! n+ {7 t4 B" `( x" J
2)如何转发?) y/ V1 p, K6 H7 g3 u
  step1 先绑订数据
, _% |1 Q5 T1 y& _9 j  request.setAttribute(String name,
3 h0 E4 S0 s! i+ f% R$ x/ t' p  Object obj);4 d9 ^, `$ J8 n: X0 u
  跟绑订相关的另外两个方法( T' ~" D# a1 Z3 g' }: \
  //如果name对应的值不存在,返回null。
! D' d2 j6 I/ x9 p3 @  Object request.getAttribute(String name);
1 L- b: y  E: {+ p6 c8 C  request.removeAttribute(String name);) R: f0 a; L9 L& L4 i" x
  step2 获得转发器,转发。
( L4 {) Z, L* u5 [/ Z1 S   RequestDispatcher rd =   O; o3 o; x- a3 a
   request.getRequestDispatcher(String uri);" t9 @/ [# i' {/ j
   rd.forward(request,response);' H$ |. B. T' V4 i1 Z9 z6 J# X
3)编程中要注意的问题
* ]+ S: X# t. j0 m3 V" |. |! @0 z7 T  转发之前,不能够执行out.close或者out.flush。
6 L3 h, ^' {6 U# S# B, t4 b; k  转发之前,会将response中缓存的数据先清空。 7 o1 ]% d4 F5 J5 O+ I3 |
4)转发的特点
, i! x. U  z, P* Y, M* ]& S  a,转发的目的地只能是同一个应用内部的某个组件。
) X* ?+ X2 g! v& P" }0 j  b,转发之后,浏览器地址栏的地址没有变化。3 o6 G( N. B. N) m- f0 X
  c,转发所涉及的各个组件可以共享同一个request,) J( s+ Y8 M2 @. x. M7 t/ w+ a1 T
  response对象。
/ W$ Y+ o& D; f0 s! k3 }( N* n 思考:
0 A) W; r5 X% X9 H8 z1 F  转发与重定向的区别。
0 E8 a6 l# B6 Q; F+ P- R0 I2、表单中文问题3 v5 y! t  U, V0 |
step1 jsp文件,要添加6 d  M7 G  d) ]3 |' l8 @
<%@page pageEncoding="utf-8"
: @' N2 n0 R0 e, G1 d# G contentType="text/html;charset=utf-8"%>, }2 S8 d, M5 C$ q9 X/ [* L) r& p9 G
表单设置method="post"。$ E  f* [8 n! [3 ]1 ^( ?4 [/ v
step2 在servlet类当中,添加0 N! X; q: \8 }
request.setCharacterEncoding("utf-8");
, ]6 D$ w7 g" F/ k- d
4 p3 M2 q! [/ T& O" F7 K step3 如果要访问数据库:
1 t6 N2 q  I+ U. ^  a,保证数据库能够正常地保存中文。
: i, R  k. M* G2 _$ T  对于mysql
: b  e$ D( s3 k   create database dbname * N, C8 F& }8 O( Z+ s- ~. p
   default character set utf8;) k  N( k$ [' E+ Z/ [& _# G. X
  b,使用jdbc访问数据库时,必须要保证
+ l, ?5 y& [/ Z3 Y  jdbc驱动程序能够识别数据库中保存
' H+ e  B) }3 X# \  数据的编码。$ }( i" o+ |8 M" y2 U" V
   jdbc:mysql://localhost:3306/jd1109db2?
/ n8 N2 n, Y: {- ?: P# \   useUnicode=true&characterEncoding=utf8/ o, i4 `% U0 G% U% q
3、路径问题
4 X0 Y5 Y# @2 K3 X. | 链接地址、表单提交、重定向、转发的路径应该
0 d) }' \4 U2 [5 |9 _: i' S7 R如何写?& ^( x+ i2 Q0 g  I! g5 u
<a href=""></a>  j# o# |$ f6 `% p1 b
<form action="">( ~0 N3 n1 W, l) N. r* r
response.sendRedirect("");% Y  e" t6 }* y
getRequestDispatcher("");" @' f* q  A5 o& G( }- V6 q
a,相对路径与绝对路径4 E6 [  ^  S) H  J" i& @) ], i! W( b
相对路径:不以"/"开头的路径,比如:) i2 v' Q7 Q( }) `% g9 T5 q) K9 y
  <a href="del.do"></a>
8 n3 J. z" L1 b" v% c5 c# h 绝对路径: 以"/"开头的路径,比如:
/ U7 K5 J8 z, U) q5 }" ]( y  <a href="/appname/del.do"></a>
0 g& o9 {8 _( V) `/ W b,怎样写绝对路径?, j8 f+ @; m& Q- g/ }/ n6 c4 P7 b
  链接、表单提交、重定向,绝对路径要从
, @3 d7 i$ B' J3 y6 v7 s/ [& r  应用名开始写。
6 a7 U2 Y# s; m$ x  转发要从应用名之后开始写。
7 x9 q. X( j: ]  X9 a  L: U9 U  //返回应用名,比如返回"/web05";
" U/ T: N  N+ p7 D1 w# m$ y  String request.getContextPath();
1 P  q3 j* [7 n7 i

科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

2

主题

0

听众

148

金钱

三袋弟子

该用户从未签到

沙发
发表于 2015-10-15 13:47:59 |只看该作者
看了看  学习学习  哈哈哈哈
回复

使用道具 举报

1

主题

3

听众

341

金钱

四袋长老

该用户从未签到

板凳
发表于 2016-03-17 21:56:26 |只看该作者
学习一下。谢谢
回复

使用道具 举报

woniu 实名认证   

2

主题

0

听众

330

金钱

四袋长老

该用户从未签到

地板
发表于 2016-04-12 12:20:36 |只看该作者
这个项目太棒勒!下下来学习下!
回复

使用道具 举报

41

主题

0

听众

655

金钱

四袋长老

该用户从未签到

90后

5#
发表于 2016-10-25 20:01:24 |只看该作者
楼主辛苦啦!感谢分享!!!!
回复

使用道具 举报

41

主题

0

听众

655

金钱

四袋长老

该用户从未签到

90后

6#
发表于 2016-10-25 20:01:55 |只看该作者
楼主辛苦啦!感谢分享!!!!
回复

使用道具 举报

41

主题

0

听众

655

金钱

四袋长老

该用户从未签到

90后

7#
发表于 2016-10-25 20:02:30 |只看该作者
楼主辛苦啦!感谢分享!!!!
回复

使用道具 举报

41

主题

0

听众

655

金钱

四袋长老

该用户从未签到

90后

8#
发表于 2016-10-25 20:02:46 |只看该作者
楼主辛苦啦!感谢分享!!!!
回复

使用道具 举报

41

主题

0

听众

655

金钱

四袋长老

该用户从未签到

90后

9#
发表于 2016-10-25 20:02:59 |只看该作者
楼主辛苦啦!感谢分享!!!!
回复

使用道具 举报

41

主题

0

听众

655

金钱

四袋长老

该用户从未签到

90后

10#
发表于 2016-10-25 20:03:15 |只看该作者
楼主辛苦啦!感谢分享!!!!
回复

使用道具 举报

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表