客户端的请求信息被封装在request对象中,经过它才能了解到客户的需求,而后作出响应,它是HttpServlteRequest类的实例。Request对象具备请求域,即完成客户端的请求以前,该对象一直存在。
Getparameter(String name) 返回name指定参数的参数值
GetparameterValues(String name) 返回包含参数name全部值的数组
request.setCharacterEncoding("utf-8") 解决中文乱码问题java
使用URL传参数
Request.setCharacterEncoding(“utf-8”)//解决中文乱码问题,没法解决URL传递中文出现的乱码问题,在server.xml中
名称对象关联在reuest中
Void SetAttribute(String,Object) 存储请求中的值 使用键值对
Object GetAttribute(String name) 返回指定属性的属性值
获取客户端信息
String GetContentType() 获得请求体的MIME类型
String GetPritocol() 返回请求用的协议类型和版本号
String getServerName 返回接受请求的服务器主机名
Int setServerPort() 返回服务器接受此请求所用的端口号
String getCharacterEncoding() 返回字符编码格式
Void setCharacterEncoding() 设置请求的字符编码格式
Int getContentLength() 返回请求体的长度(以字节数)
String getRemoteAddr() 返回发送此请求的客户端IP地址
String getRealPath(String path) 返回虚拟路的真实路径 request.jsp
String request.getContextPath() 返回上下文路径 项目的虚拟路径
Response对象包含了响应客户请求的有关信息,但在JSP中不多引用到它。它是HttpServletResponse类的实例,该对象具备页面做用域,当访问一个页面时,页面内的response对象只对本次访问有效,其余页面的response对象对当前页面无效。
String setCharacterEncoding() 返回响应用的是何种字符编码
Void setContentType(String type) 设置响应的MIME类型
PrintSwrite setWrite()返回能够向客户端输出字符的一个对象(注意比较:PriteWrite与内置out对象的区别) 导入java.io.*
SendRedirect(java.lang.String location) 从新定向客户端的请求
请求转发和请求重定向
请求重定向:客户端行为,response.sendRedirect(),本质上讲等于两次请求,前一次的请求对象不会保存,地址的URL地址会改变,连接至关于请求重定向
请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp),是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变,请求会更快
输出缓冲区
服务器输出到客户端的内容不会直接写到客户端,而是写到输出缓冲区。
缓冲区被定义为暂时放置输入或者输出资料的内存。
三个条件下,缓冲区的内容会写到客户端:
1JSP页面的输出信息已经所有写入到了缓冲区
2缓冲区已满
3在JSP页面中,调用了response对象的flushBuffer()方法或out对象的flush()方法
Response.setBufferSize(32) 设置缓存区的大小sql
out对象是 javax.servlet.jsp.JspWriter 类的实例,用来在response对象中写入内容。
用来输出boolean,char,int,double,String,object等类型数据的重要方法
数组
Session对象在第一个JSP页面被装载时,完成会话期管理
Session表示客户端和服务器的一次会话,从打开浏览器链接到服务器开始,到关闭浏览器离开服务器结束,被称为一个会话。
Session是一个特定的时间概念,指客户在浏览网站时,进入网站到浏览器关闭所通过的这段时间,session保存在服务器的内存中,和用户一一对应。
Session对象是HttpSession类的实例。
Long GetCreateTime() 返回Session建立时间
Public String getID() 返回session建立时JSP引擎为它设置的惟一ID号
Public Object setAttribute(String name,Object value)使用指定名称将对象绑到此会话
Public Object getAttribute(String name)返回与此会话中指定名称定在一块儿的对象,若是没有对象绑定在该名称下,则null。
String[] getValueNames()返回包含此Session种全部可用属性的数组。
Int getMaxInactiveInterval() 返回两次请求间隔多长时间此Session被取消(单位秒)浏览器
建立:客户端第一次访问某个JSP或者servlet时候,服务器会为当前会话建立一个SessionID,每次客户端向服务器发送请求的时,都会将sessionID携带过去,服务端Sessionid进行校验。
活动:某会话中经过超级连接打开的新页面属于同一会话,当前会话尚未所有关闭,从新打开浏览器访问同一项目资源属于同一次会话,除非本次会话的全部页面都关闭后再次从新访问某个JSP或者servlet将会建立新的会话。
原有会话还存在,只是这个旧的SessionID仍存在服务端,再也没有客户端携带它而后交于服务器校验。
Session销毁
三种方式,session.invalidate()方法;Session过时(超时);服务器从新启动
Session对象超时
Tomcat默认session超时时间为30分钟
Session超时两种方式
Session.setMaxInactiveInterval(时间秒);
10
Application对象实现了用户间数据的共享,可存放全局变量,保存应用程序中的公有数据
Application开始于服务器的启动,终止于服务器的关闭
在用户的先后链接或者是不一样用户链接中,能够对application对象同一属性进行操做
在任何地方对application对象属性的操做,都影响到其余用户对此的操做
服务器的开启和关闭决定了application对象的生命
Application对象是servletContext类的实例
指定名称和对象在application中关联
Public void setAttribute(String name,Object value)指定使用名称将对象绑定到此会话
Public Object getAttribute(Sring name)返回和名称绑定的对象,若没有对象,返回null
Enumeration getAttributeNames()返回全部可用属性名的枚举
String setServerInfo()返回JSP(SERVLET)引擎名及版本号
访问应用程序初始化参数
初始化参数在
<content-param> <param-name>url</param-name> <param-value>jdbc:mysql://127.0.0.1:3306/db_datebase</param-value> <content-param>
使用application.getinitParameter(“url”);访问参数的值服务器
Page对象就是指向当前JSP页面自己,有点像类中的this指针,它是java.lang.Object类的实例,page的方法就是Object的方法
Page.toString 当前Page页面的字符串描述session
Pageconfig对象
Pagecontext对象提供了对JSP页面全部的对象及名字空间的访问
Pagecontext对象能够访问到本页所在的session,也能够取本页的所在的application某一属性值
PageContext对象至关于页面中全部功能的集大成者
PageContext对象的本类名也叫pageContextapp
HttpSession setSession() 返回当前页面中的HttpSession对象(session)
Void forword(String relativeUrlPath) 使当前页面重导到另外一页面
Void include(String relativeUrlPath) 在当前位置包含另外一文件
Config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数和服务器有信息,再讲servlet的时候详细说明。
ServletContext getServletContext() 返回含有服务器相关信息的ServletContext对象对象
String getInitParameter(String name) 返回初始化参数的值
Enumeration getInitParameterNames() 返回Servlet初始化所需全部参数的枚举
Exception对象是一个异常对象,当一个页面在运行过程当中发生了异常,就是产生这个对象,若是一个JSP页面要引用这个对象,就必须在page指令中把isErrorPate设置为true,不然没法编译,它其实是一个java.lang.Throwable的对象,经常使用方法以下: String getMessage() 返回描述异常的消息 String toString() 返回关于异常简短描述消息