小七 发表于 2014-3-15 22:25

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

1、转发
1)什么是转发?
一个web组件(jsp/servlet)将未完成的处理
转交给另一个web组件继续处理。转发的各个组
件会共享request和response对象。
2)如何转发?
step1 先绑订数据
request.setAttribute(String name,
Object obj);
跟绑订相关的另外两个方法
//如果name对应的值不存在,返回null。
Object request.getAttribute(String name);
request.removeAttribute(String name);
step2 获得转发器,转发。
   RequestDispatcher rd =
   request.getRequestDispatcher(String uri);
   rd.forward(request,response);
3)编程中要注意的问题
转发之前,不能够执行out.close或者out.flush。
转发之前,会将response中缓存的数据先清空。
4)转发的特点
a,转发的目的地只能是同一个应用内部的某个组件。
b,转发之后,浏览器地址栏的地址没有变化。
c,转发所涉及的各个组件可以共享同一个request,
response对象。
思考:
转发与重定向的区别。
2、表单中文问题
step1 jsp文件,要添加
<%@page pageEncoding="utf-8"
contentType="text/html;charset=utf-8"%>
表单设置method="post"。
step2 在servlet类当中,添加
request.setCharacterEncoding("utf-8");

step3 如果要访问数据库:
a,保证数据库能够正常地保存中文。
对于mysql
   create database dbname
   default character set utf8;
b,使用jdbc访问数据库时,必须要保证
jdbc驱动程序能够识别数据库中保存
数据的编码。
   jdbc:mysql://localhost:3306/jd1109db2?
   useUnicode=true&characterEncoding=utf8
3、路径问题
链接地址、表单提交、重定向、转发的路径应该
如何写?
<a href=""></a>
<form action="">
response.sendRedirect("");
getRequestDispatcher("");
a,相对路径与绝对路径
相对路径:不以"/"开头的路径,比如:
<a href="del.do"></a>
绝对路径: 以"/"开头的路径,比如:
<a href="/appname/del.do"></a>
b,怎样写绝对路径?
链接、表单提交、重定向,绝对路径要从
应用名开始写。
转发要从应用名之后开始写。
//返回应用名,比如返回"/web05";
String request.getContextPath();

发光的影子 发表于 2015-10-15 13:47

看了看学习学习哈哈哈哈

java宫城大师 发表于 2016-3-17 21:56

学习一下。谢谢:victory:

woniu 发表于 2016-4-12 12:20

这个项目太棒勒!下下来学习下!

kaixinjiuhao 发表于 2016-10-25 20:01

楼主辛苦啦!感谢分享!!!!

kaixinjiuhao 发表于 2016-10-25 20:01

楼主辛苦啦!感谢分享!!!!

kaixinjiuhao 发表于 2016-10-25 20:02

楼主辛苦啦!感谢分享!!!!

kaixinjiuhao 发表于 2016-10-25 20:02

楼主辛苦啦!感谢分享!!!!

kaixinjiuhao 发表于 2016-10-25 20:02

楼主辛苦啦!感谢分享!!!!

kaixinjiuhao 发表于 2016-10-25 20:03

楼主辛苦啦!感谢分享!!!!
页: [1] 2 3 4
查看完整版本: jsp中转发是怎么定义的、表单中文如何处理以及路径问题