JSP复习(part 3 )
3.4.4
request对象提供了一些用来获取客户信息的方法,利用这些方法,可以获取客户端的IP地址 协议等有关信息
3.5
request对象和response对象相对应,用于响应客户请求,由服务器端向客户端输出信息。当服务器向客户端传送数据时,JSP容器会自动创建RESPONSE对象并
将信息封装到response对象中,当JSP容器处理完请求后,request对象会被销毁,response和request综合起来完成动态网页的交互功能
3.5.1
原理
1web容器(tomcat等)会传入与web容器相关的HttpServletRequest和HttpServletResponse的实现。
2每一次浏览器的请求web服务器都会创建一个新的HttpServletReques和ServletResponse对象,并且
这两个对象的声明周期仅限于web容器内。
response对象常用方法
1 setStatues
2 setHeader
3 getWriter
4 getOutputStream
response常见应用
1)向浏览器输出数字
原理:
无论是ServletOutputStream对象还是ServletWrite对象的write(int c);方法
都会自动将c去查询iso8859-1编码表,并取出相应的字符传送到客户端,
所以输入的是数字,客户端得到的却是对应的字符。
解决办法:
将数字转换成字符串,再通过字符串的形式进行输出。
又因为OutputStream对象write()方法参数中不支持对字符串的输出,所以需要通过getBytes方法进行转换
而ServletWriter的write()方法参数支持字符串的输出,所以可以直接输出,不必转换
2)向浏览器输出中文字符
原因:
1byte[] getBytes();方法在进行编码的时候会按照当前的编码方式进行编码
2byte[] getBytes(String charset);方法在进行编码的时候会按照指定的编码方式进行编码
3而iso8859-1不支持中文字符的编码,所以,在进行编码的时候需要指定能够编码中文字符的编码方式。
注意:在以字符流方式输出中文到客户端,需要提前告诉客户端用utf-8去接受。
3)设置响应头发送给客户端
当遇到中文字符的时候,需要使用URLEncoder类的静态方法使用指定的编码机制将字符串转换为客户端浏览器能正确解析的编码方式。
方法原型:
String encode(String s, String enc);
code:
response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(file.getName(), "utf-8"));
JSP复习(part 3 )的更多相关文章
- JSP复习整理(五)JavaBean使用表单处理数据
一.先建立用户输入的数据 usingGetparameter.html <!DOCTYPE html> <html> <head> <meta charset ...
- JSP复习整理(五)JavaBean生命周期
一.创建一个JavaBean UserBean.java package jsp.test; public class UserBean { private String userName; priv ...
- JSP复习整理(四)Cookie
一.useCookie.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...
- JSP复习整理(三)基本语法续
查看注册后的信息: TestBean.java package com.hai.xaio.cn; public class TestBean { public String userName; pub ...
- JSP复习整理(二)基本语法
最基础的整理.. 一.语句声明 <%@ page language="java" contentType="text/html; charset=UTF-8&quo ...
- JSP复习整理(一)表单
好久没更了,一周完成了SRDP,一周完成了课程设计,这一周就要好好回顾回顾Java Web的学习轨迹了. 用的eclipse Mars 一.表单 start.jsp <%@ page langu ...
- JSP复习
3.2.2 JSP指令元素: JSP指令 (1) page指令:定义整个页面的全局属性 (2)include指令:用于包含一个文件或代码的文件 (3)taglib指令:用来引用自定义的标签或第三方标签 ...
- JSP复习(part 4)
3.5.2 重定向网页 使用response对象中的sendRedirect()方法实现一个重定向到另一个页面. 例如: response.sendRedirect(“”login_ok.jsp“”) ...
- JSP复习(part 2 )
3.4.2 访问(获取)请求参数 1.方法 String 字符串变量 =request.getParameter("客户端提供参数的name属性名"): 2.传参数的三种形式 (1 ...
随机推荐
- Angular 4 http通讯 解决服务器参数无法接收问题
1.导入 import { Component, OnInit } from '@angular/core'; import {Observable} from 'rxjs/Observable'; ...
- 搭建openwrt_x86虚拟机环境
1.下载源码 http://downloads.openwrt.org/snapshots/trunk/x86/openwrt-x86-generic-combined-ext4.img.gz 2.格 ...
- 【jmeter】jmeter聚合报告之90%Line参数说明
其实要说明这个参数的含义非常简单,可能你早就知道他的含义,但我对这个参数一直有误解,而且还一直以为是“真理”,原于一次面试,被问到了这个问题,所以引起我这个参数的重新认识. 先说说我错误的认识: 我一 ...
- arcgis desktop can not connect to previous version of license manager
解决方法: license manager以 管理员身份运行.
- 解决EF一对一或多对一的删除
people 类中有 zhengshu类 且是一对一,现在要删除people类中的zhengshu 网上看了N多办法,什么更新外键什么滴. 其实方法简单极了 using (KJExamEntity c ...
- 设置多个ip ,实现ip欺骗
网关和DNS填写: 使用IP欺骗功能必须得本地有多个可用IP,通常普通的PC机只有一个物理网卡,这就需要我们手工设置多IP绑定同一网卡: a.开始菜单 -> 控制面板 -> ...
- java web程序 登陆验证页面 4个页面人性化设置
到这里,快期末考试了,老师不讲课,我心里有苦不想说,也许没有考虑到老师的感受,让老师难堪了 但是我的行为已不再是我可以做的了.不可能了,我只是职业性的机械的做事了. 思路: 1.第一个是form表单, ...
- 自己写的 Readini 类
using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using System ...
- 关于java.lang.IncompatibleClassChangeError: Implementing class错误解决
在javaagent使用asm字节码编程的时候启动异常,java.lang.IncompatibleClassChangeError: Implementing class, 这是包冲突引起的问题,加 ...
- dubbo无法创建线程问题
OutOfMemoryError: unable to create new native thread 决定当前用户程序能够创建多少线程由2个因素决定 1. 用户环境允许的线程数 cat /etc/ ...