为了简化页面开发的复杂性,JSP提供了一些可在脚本中使用的内置对象(不需要在使用之前进行声明)
request请求对象
request对象包含的是客户端向服务器端发出请求的内容,即该对象封装来了用户提交的信息。通过这个对象可以了解到客户端向服务器发出请求的内容和客户端所要求的资料。request对象在服务器启动时自动创建
request常用方法:
。getParameter(String name):根据页面表单组件名称获取请求页面提交数据
。 getParameterValues(String name):获取页面请求中一个表单组件对应对个值时的用户的请求数据
。getParameterNames(String name):获取组件的参数名
。setAttribute(String name,Object):设置参数值
。getAttribute(String name):返回由指定的参数值
。getCharacterEncoding():返回字符的编码方式
。getProtocol():获取客户端向服务器端传送数据所依据的协议名称
。getRequestURI():获取当前发出请求的客户端地址
。getRemoteAddr():获取客户端的IP地址
。getRemoteHost():获取客户端的名字
。getServerName():获取服务器的名字
。getServerPort():获取服务器的端口号
解决提交的表单中的中文乱码:
。post方法提交的表单:<%request.setCharacterEncoding("utf-8");%>
。get方法提交的表单:<%String str=new String((改变编码方式的对象).getBytes("ISO8859-1"),"UTF-8");%>
response响应对象
本质上属于HttpServletRespnse类,主要用于向客户端发送数据,如Cookie、HTTP文件头等信息。用于处理JSP生成的响应,将响应发送给客户端,实现javax.servlet.HttpServletResponse,使用HTTP将协议响应发送给客户端
*Cookie:储存在用户本地终端上的临时数据
作用:页面跳转、设置页面头信息、设置响应类型、发送错误信息、向客户端写cookie
对象传递参数
response对象的方法:
。sendRedirect(String URL):页面跳转
。sendError(into code,String message):用给出的状态代码和消息向用户端发送一个发现错误响应
。setHeader(String name,String value):将指定的域加到响应首部,并赋给它一个字符串值,如果这个域已经设置了值,那么它将被新设置的值代替
jsp页面中的两种跳转方式:
1、客户端跳转:response.sendRedirect() 、<a></a> 特征:地址栏地址改变,不能用request对象传递参数
2、服务器端跳转:<jsp:forword page=""/> 特征:地址栏地址不改变,可以用request
HTTP-EQUIV类型及作用:
。<meta http-equiv="Refresh" content="1">:实现刷新,间隔时间1s,或使用response方法<%response.setHeader("refresh","1"); %>
。<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">:为搜索引擎提供的关键字列表
。<meta http-equiv="description" content="This is my page">:告诉搜索引擎网站的主要内容
动态响应contentType属性(设置响应内容的类型)
response.setContent-Type("MIME类型"):
超文本标记语言文本 text/html
普通文本 text/plain
RTF文本 application/rtf
GIF图形 image/gif
JPEG图形 jpg image/jpeg
MPEG文件 mpeg video/mpeg
TAR文件 application/x-tar
XML文件 text/xml
Word文件 application/x-msord
session会话对象
一般每个用户登录网站,系统就自动生成的,用来保护客户的活动信息,直到客户离开该网站位置的对象(即在访问过程有效,关闭浏览器后就不存在)
session对象的方法:
setAttribute("String name",value):设置传递的参数
getAttribute("String name",value):获取传递的参数的值
setMaxInactiveInterval(1):设置session的有效期,单位为秒
application全局变量(用于在多个程序中保存信息)
application对象常用方法:
setAttribute("String name",value):保存指定的数据
getAttribute("String name",value):获取指定的参数的值
*页面之间传递信息的三个内置对象生命周期:
1、request:一次请求,服务器端跳转的页面之间
2、session:在用户访问网站的整个过程都有效,关闭网站就失效
3、application:在服务器启动的过程中都有效,关闭服务器就失效
网友评论