request,response,转发重定向(面试98%) session(会话)

request对象:

request对象是HttpServletRequest这个类的实例

常用方法:

String getParameter(String name)---返回name指定的参数的值

String[] getParameterValues(String name)---返回一个数组, 是包含那个参数名的所有的人

void setAttribute(String, Object)---设置某个作用域中的属性

Object getAttribute(String name)---获取某个作用域中的属性

String getServerName()---返回请求服务器的主机名

String getContentType()---返回请求体的MIME类型

String getprotocol()---返回请求用的协议类型和版本号

int getServerPort()---获取服务器的端口号

int getContentLength()---返回请求体的长度(单位是字节)

String getRemoteAddr()---返回发送此请求的客户端的IP地址

String getRealPath(String path)---返回传入的这个路径的物理路径

String getContextPath()---返回上下文路径

解决request中出现中文乱码的问题

post方式:

通过使用request.setCharacterEncoding("utf-8")来设置

get方式:

通过修改Tomcat服务器中的server.xml配置文件来设置

response对象

response对象是HttpServletResponse的实例

常用方法

setCharacterEncoding(String name)---设置响应页面使用的字符编码

setContentType("text/html; charset=utf-8")---设置(MIME类型)请求头

response.getWriter().append(String content)---向页面输出一段字符串

out对象的类型是JspWriter, 而response.getWriter()是一个PrintWriter, out对象也可以通过pageContext.getOut()获得, 这两个对象的类型不一样

 

out.print(null);会抛出异常, PrintWriter.print(null)不会抛出异常

 

JspWriter是一个抽象类, PrintWriter是一个继承了Writer的普通类

 

getWriter()方法可以在页面上输出一串字符, out也是一个输出对象, 两者的区别在于, getWriter()方法的执行结果, 总是优先于out对象, 可以使用out.flush()方法, 强行属性缓冲区的内容, 将out对象的输出结果先输出出来

 

转发和重定向(面试98%会问)     ------------------------------重点

response.sendRedirect(String location)---请求重定向

客户端行为, 从本质上讲相当于两次请求, 第一次请求的对象不会被保存, 地址栏的Url地址会改变

request.getRequestDispatcher().forward(request, response)---请求转发

服务器行为, 相当于一次请求, 转发后请求对象会被保存, 地址栏url不会改变

举例说明: 办证

Session对象

session的理解(session指的是用户在进入一个网站开始到关闭浏览器的时间, Tomcai服务器默认的session有效时间是30分钟, 也就是说, 打开一个网站30分钟之内没有动作, session对象同样也会失效)

session对象是HttpSession的实例

常用方法:

long getCreationTime()---返回session对象创建的时间

String getId()---返回一个sessionid, 是唯一的

void setAttribute()---设置一个属性和一个属性值

Object getAttribute()---获取某个属性的属性值

String[] getValueNames()---以数组的形式获取session对象中所有可用属性的属性名

setMaxInactiveInterval()---设置session经过多长时间之后失效(默认30分钟)

getMaxInactiveInterval()---设置session的失效时间(单位是秒)

原文地址:https://www.cnblogs.com/yfyfyff/p/7286575.html