一、获取页面信息
如果想要获取页面信息,判断信息来自于注册页面还是登陆页面方式:
1、一般在页面连接服务器的地址后加:?键=值;作为标记。
注意:如果时get方式传输的表单,则会覆盖?后自定义的标记。
2、在页面中设置隐藏域
该标签不会再页面上显示,但其参数可以传递,根据参数可以判断页面。
二、对于请求实体进行编码
语法:request.setCharaterEncoding(“服务器编码”);
注意:
1)此方法值针对post传输方式;
2)如果希望同时对get方式进行编码,须在设置端口号的地方进行配置,再标签中添加属性:useBodyEncodingForURI=”true”。
三、文件下载
1、字符串转码
语法:String 变量名 = newString(str.getBytes(“当前字符串的编码方式”),“新的编码方式“);
2、在页面设置下载
(1)第一步:response.setHeader(“content-disposition”,”attachment;filename=”+fileName);
(2)第二步:通过文件输入输出流输出文件。
四、request作用域
request可以作为作用域使用,当其作为作用域使用时,类似于Map
1、存值方式
语法:request.setAttribute(“键”,“值“);
2、取值方式
语法:String str = (String)request.getAttribute(键);
3、移出键值对
4、获取键的集合
语法:Enumeration
获取键和值:遍历Enumeration集合。
五、请求转发和重定向
1、请求转发
语法:request.setReuqestDispacher(“地址”).forward(“请求对象”,”响应对象”);
特点:
(1)整个过程只有一次请求;
(2)地址栏不发生变化;
(3)效率高;
(4)不能访问外部资源;
(5)绝对路径/xxx :表示根目录之后的/xxx ;
(6)之后的语句依旧会执行,习惯在这之后加一句return;
2、重定向
语法:response.sendRedicrect(“地址”);
特点:
(1)整个过程有两次请求;第一次请求会带会一个302状态码(表示请求重定向,需要重新发一次请求)和第二次请求的地址:location;
(2)地址栏发生变化
(3)效率低
(4)可以访问外部资源(地址为外部资源地址);
(5)据对路径/xxx , 表示端口号之后的/xxx;
(6)之后的语句依旧会执行,习惯在这之后加一句return。