JSP九大内置对象的基本使用--简单教程
2014-08-10 21:20
711 查看
JSP九大内置对象的基本使用--简单教程
致敬:
1.由于时间仓促以及本人经验等客观原因,文中也许会存在些许错误, 请大家多多指教留言!
2.作者本着一颗谦逊严谨的态度与读者互相探讨学习!
3.如过采纳了您的修改意见,我会在第一时间在文中更改,并将会在文中的末尾处声明您的贡献!
正文:
JSP九大内置对象的基本使用<新手使用教程!>
本文意在阐述jsp九大内置对象,写作提纲:
1.什么是jsp?
2.jsp的九大内置对象是什么?
3.每个对象下的常用方法有哪些?
jsp是一种动态网页技术标准。全名为JavaServer Pages,其根本是一个简化的设计,他实现了Html语法中的java扩张(以 <%, %>形式)。在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。jsp页面:
注释:(1)<%@ page contentType="text/html;charset=GB2312"%>设置文档类型, text/html;charset=GB2312 代表文本类型是的html文件, 字符集编码是GB2312。
(2)<%request.setCharacterEncoding("gb2312");%>设置请求的编码格式为GB2312,将别其他面提交到这个页面的时候所带的参数,表单都设置成GB2312格式的编码
1.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
方 法 说 明 :
主要常用方法:
void
setAttribute(String key,Object obj) 设置属性的属性值
object getAttribute(String name) 返回指定属性的属性值
String
getParameter(String name) 返回name指定参数的参数值
请求方式request.getMethod()
请求的资源相对路径request.getRequestURI()
请求的资源绝对路径request.getRequestURL()
不常用方法:
Enumeration
getAttributeNames() 返回所有可用属性名的枚举
String getCharacterEncoding() 返回字符编码方式
int getContentLength() 返回请求体的长度(以字节数)
String getContentType() 得到请求体的MIME类型
ServletInputStream getInputStream() 得到请求体中一行的二进制流
Enumeration getParameterNames() 返回可用参数名的枚举
String[] getParameterValues(String name) 返回包含参数name的所有值的数组
String getProtocol() 返回请求用的协议类型及版本号
String getScheme() 返回请求用的计划名,如:http.https及ftp等
String getServerName() 返回接受请求的服务器主机名
int getServerPort() 返回服务器接受此请求所用的端口号
BufferedReader getReader() 返回解码过了的请求体
String getRemoteAddr() 返回发送此请求的客户端IP地址
String getRemoteHost() 返回发送此请求的客户端主机名
String getRealPath(String path) 返回一虚拟路径的真实路径
设置接收请求的字符集request.setCharacterEncoding()
请求用的协议request.getProtocol()
请求的文件名request.getServletPath()
请求的服务器的IPrequest.getServerName()
请求服务器的端口request.getServerPort()
客户端IP地址request.getRemoteAddr()
客户端主机名request.getRemoteHost()
常用方法详述说明:
一、request.getParameter() 和request.getAttribute()区别
1.request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。
2.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部还有一点就是,HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.JSP链接到2.JSP时,被链接的是2.JSP可以通过getParameter()方法来获得请求参数.
假如1.JSP里有
的话在2.JSP中通过request.getParameter("username")方法来获得请求参数username:
但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。有1.JSP和2.JSP
1.JSP希望向2.JSP传递当前的用户名字,如何传递这一数据呢?先在1.JSP中调用如下setAttribute()方法:
在2.jsp中通过getAttribute()方法获得用户名字:
二、request.getAttribute()与request.setAttribute()
request.getAttribute("nameOfObj")可得到JSP页面一表单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。
而不同页面间传值使用request.setAttribute(position,nameOfObj)时,只会从a.JSP到b.JSP一次传递,之后这个request就会失去它的作用范围,再传就要再设一个 request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。
注意.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。例如:
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
方 法 说 明
sendRedirect(java.lang.String location) 重新定向客户端的请求
String getCharacterEncoding() 返回响应用的是何种字符编码
ServletOutputStream getOutputStream() 返回响应的一个二进制输出流
PrintWriter getWriter() 返回可以向客户端输出字符的一个对象
void setContentLength(int len) 设置响应头长度
void setContentType(String type) 设置响应的MIME类型
1 设置头信息:response.setHeader("头信息内容","头信息参数");
常用的刷新refresh,例如:response.setHeader("refresh","1");
几秒后跳转:response.setHeader("refresh","2:URL=XXX");
2 重定向--response跳转:response.sendRedirect("跳转地址");
此语句执行后,页面地址也变为跳转后的地址
面试中常见问题:两种跳转的区别:地址栏不改变--属于服务器端跳转
执行到跳转语句后无条件立刻跳转--之后的代码将不再执行
注意:若使用forward跳转则一定要在跳转前释放掉全部资源;
使用forward时,request设置的属性(setAttribute)依然能保留到下一个页面
通过传递参数
response.sendRedirect("跳转地址"):
地址栏改变--属于客户端跳转
页面的所有代码执行完毕之后再跳转
不能保存request属性,地址栏改变了,客户端跳转
通过对URL地址的重写传递参数
3 设置Cookie
Cookie是服务器端保存在客户端的一组资源
通过Cookie实现保存密码或者多长时间无需再输入密码等功能
设置Cookie的方法:Public Void addCookie(Cookie cookie)
Cookie是通过服务器端设置到客户端上去的--response
如果要在服务器端取得Cookie--request
在request对象中有Public Cookie[] getCookies()方法
在使用request对象取得全部Cookie时会出现JSESSIONID,表示唯一的客户端在服务器上的编号,这个值在客户端第一次访问服务器端之后设置
默认情况下Cookie只针对当前浏览器有效,如果需要长留在计算机上,可以设置Cookie的保存时间,通过设置Cookie最大保留时间方法:setMaxAge()
3.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
序号方 法 说 明
long getCreationTime() 返回SESSION创建时间
public String getId() 返回SESSION创建时JSP引擎为它设的惟一ID号
long getLastAccessedTime() 返回此SESSION里客户端最近一次请求时间
int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSION被取消(ms)
String[] getValueNames() 返回一个包含此SESSION中所有可用属性的数组
void invalidate() 取消SESSION,使SESSION不可用
boolean isNew() 返回服务器创建的一个SESSION,客户端是否已经加入
void removeValue(String name) 删除SESSION中指定的属性
void setMaxInactiveInterval() 设置两次请求间隔多长时间此SESSION被取消(ms)
参考:
http://www.cnblogs.com/jams742003/archive/2009/06/24/1510166.html
http://www.cnblogs.com/qqnnhhbb/archive/2007/10/16/926234.html
http://wenku.baidu.com
http://bbs.csdn.net
致敬:
1.由于时间仓促以及本人经验等客观原因,文中也许会存在些许错误, 请大家多多指教留言!
2.作者本着一颗谦逊严谨的态度与读者互相探讨学习!
3.如过采纳了您的修改意见,我会在第一时间在文中更改,并将会在文中的末尾处声明您的贡献!
正文:
JSP九大内置对象的基本使用<新手使用教程!>
本文意在阐述jsp九大内置对象,写作提纲:
1.什么是jsp?
2.jsp的九大内置对象是什么?
3.每个对象下的常用方法有哪些?
jsp是一种动态网页技术标准。全名为JavaServer Pages,其根本是一个简化的设计,他实现了Html语法中的java扩张(以 <%, %>形式)。在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。jsp页面:
<%@ page contentType="text/html;charset=GB2312"%> <%request.setCharacterEncoding("gb2312");%> <html> <head> <title>request对象_例1</title> </head> <form action="" method="post"> <input type="text" name="text1"> <input type="submit" value="提交"> </form>
注释:(1)<%@ page contentType="text/html;charset=GB2312"%>设置文档类型, text/html;charset=GB2312 代表文本类型是的html文件, 字符集编码是GB2312。
(2)<%request.setCharacterEncoding("gb2312");%>设置请求的编码格式为GB2312,将别其他面提交到这个页面的时候所带的参数,表单都设置成GB2312格式的编码
1.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
方 法 说 明 :
主要常用方法:
void
setAttribute(String key,Object obj) 设置属性的属性值
object getAttribute(String name) 返回指定属性的属性值
String
getParameter(String name) 返回name指定参数的参数值
请求方式request.getMethod()
请求的资源相对路径request.getRequestURI()
请求的资源绝对路径request.getRequestURL()
不常用方法:
Enumeration
getAttributeNames() 返回所有可用属性名的枚举
String getCharacterEncoding() 返回字符编码方式
int getContentLength() 返回请求体的长度(以字节数)
String getContentType() 得到请求体的MIME类型
ServletInputStream getInputStream() 得到请求体中一行的二进制流
Enumeration getParameterNames() 返回可用参数名的枚举
String[] getParameterValues(String name) 返回包含参数name的所有值的数组
String getProtocol() 返回请求用的协议类型及版本号
String getScheme() 返回请求用的计划名,如:http.https及ftp等
String getServerName() 返回接受请求的服务器主机名
int getServerPort() 返回服务器接受此请求所用的端口号
BufferedReader getReader() 返回解码过了的请求体
String getRemoteAddr() 返回发送此请求的客户端IP地址
String getRemoteHost() 返回发送此请求的客户端主机名
String getRealPath(String path) 返回一虚拟路径的真实路径
设置接收请求的字符集request.setCharacterEncoding()
请求用的协议request.getProtocol()
请求的文件名request.getServletPath()
请求的服务器的IPrequest.getServerName()
请求服务器的端口request.getServerPort()
客户端IP地址request.getRemoteAddr()
客户端主机名request.getRemoteHost()
常用方法详述说明:
一、request.getParameter() 和request.getAttribute()区别
1.request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。
2.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部还有一点就是,HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.JSP链接到2.JSP时,被链接的是2.JSP可以通过getParameter()方法来获得请求参数.
假如1.JSP里有
<form name="form1" method="post" action="2.jsp"> 请输入用户姓名:<input type="text" name="username"> <input type="submit" name="Submit" value="提交"> form>
的话在2.JSP中通过request.getParameter("username")方法来获得请求参数username:
< % String username=request.getParameter("username"); %>
但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。有1.JSP和2.JSP
1.JSP希望向2.JSP传递当前的用户名字,如何传递这一数据呢?先在1.JSP中调用如下setAttribute()方法:
<% String username=request.getParameter("username"); request.setAttribute("username",username); %> <jsp:forward page="2.jsp" />
在2.jsp中通过getAttribute()方法获得用户名字:
<% String username=(String)request.getAttribute("username"); %>
二、request.getAttribute()与request.setAttribute()
request.getAttribute("nameOfObj")可得到JSP页面一表单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。
而不同页面间传值使用request.setAttribute(position,nameOfObj)时,只会从a.JSP到b.JSP一次传递,之后这个request就会失去它的作用范围,再传就要再设一个 request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。
注意.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。例如:
<input type="hidden" name="hidd" value="value" />2.response
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
方 法 说 明
sendRedirect(java.lang.String location) 重新定向客户端的请求
String getCharacterEncoding() 返回响应用的是何种字符编码
ServletOutputStream getOutputStream() 返回响应的一个二进制输出流
PrintWriter getWriter() 返回可以向客户端输出字符的一个对象
void setContentLength(int len) 设置响应头长度
void setContentType(String type) 设置响应的MIME类型
1 设置头信息:response.setHeader("头信息内容","头信息参数");
常用的刷新refresh,例如:response.setHeader("refresh","1");
几秒后跳转:response.setHeader("refresh","2:URL=XXX");
2 重定向--response跳转:response.sendRedirect("跳转地址");
此语句执行后,页面地址也变为跳转后的地址
面试中常见问题:两种跳转的区别:地址栏不改变--属于服务器端跳转
执行到跳转语句后无条件立刻跳转--之后的代码将不再执行
注意:若使用forward跳转则一定要在跳转前释放掉全部资源;
使用forward时,request设置的属性(setAttribute)依然能保留到下一个页面
通过传递参数
response.sendRedirect("跳转地址"):
地址栏改变--属于客户端跳转
页面的所有代码执行完毕之后再跳转
不能保存request属性,地址栏改变了,客户端跳转
通过对URL地址的重写传递参数
3 设置Cookie
Cookie是服务器端保存在客户端的一组资源
通过Cookie实现保存密码或者多长时间无需再输入密码等功能
设置Cookie的方法:Public Void addCookie(Cookie cookie)
Cookie是通过服务器端设置到客户端上去的--response
如果要在服务器端取得Cookie--request
在request对象中有Public Cookie[] getCookies()方法
在使用request对象取得全部Cookie时会出现JSESSIONID,表示唯一的客户端在服务器上的编号,这个值在客户端第一次访问服务器端之后设置
默认情况下Cookie只针对当前浏览器有效,如果需要长留在计算机上,可以设置Cookie的保存时间,通过设置Cookie最大保留时间方法:setMaxAge()
3.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
序号方 法 说 明
long getCreationTime() 返回SESSION创建时间
public String getId() 返回SESSION创建时JSP引擎为它设的惟一ID号
long getLastAccessedTime() 返回此SESSION里客户端最近一次请求时间
int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSION被取消(ms)
String[] getValueNames() 返回一个包含此SESSION中所有可用属性的数组
void invalidate() 取消SESSION,使SESSION不可用
boolean isNew() 返回服务器创建的一个SESSION,客户端是否已经加入
void removeValue(String name) 删除SESSION中指定的属性
void setMaxInactiveInterval() 设置两次请求间隔多长时间此SESSION被取消(ms)
<%@page contentType="text/html;charset=gb2312"%> <%@ page import="java.util.*" %> <html> <head><title>session对象_例1</title><head> <body><br> session的创建时间:<%=session.getCreationTime()%> <%=newDate(session.getCreationTime())%><br><br> session的Id号:<%=session.getId()%><br><br> 客户端最近一次请求时间:<%=session.getLastAccessedTime()%> <%=newjava.sql. Time(session.getLastAccessedTime())%><br><br> 两次请求间隔多长时间此SESSION被取消(ms):<%=session.getMaxInactiveInterval()%><br><br> 是否是新创建的一个SESSION:<%=session.isNew()?"是":"否"%><br><br> <% session.putValue("name","霖苑编程"); session.putValue("nmber","147369"); %> <% for(int i=0;i<session.getValueNames().length;i++) out.println(session.getValueNames()[i]+"="+session.getValue(session.getValueNames()[i])); %> <!--返回的是从格林威治时间(GMT)1970年01月01日0:00:00起到计算当时的毫秒数--> </body> </html>今天有点忙明天继续吧
参考:
http://www.cnblogs.com/jams742003/archive/2009/06/24/1510166.html
http://www.cnblogs.com/qqnnhhbb/archive/2007/10/16/926234.html
http://wenku.baidu.com
http://bbs.csdn.net
相关文章推荐
- JavaWeb学习之什么JSP、JSP是如何工作的、JSP语言(各种指令和九大内置对象)、EL表达式简单使用(5)
- java web 教程JSP九大内置对象及四个作用域
- JSP内置对象:Request和Response的简单介绍及使用
- JSP九大基本内置对象(对应ASP6种内部组件)
- JSP基本功 pageContext对象page,request,session,application四个域对象的使用及区别JSP运行原理和九大隐式对象及下载文件、访问次数的代码总结出el表达式简单
- JSP的九大内置对象在jsp页面中可不加定义直接使用
- JSP内置对象:Request和Response的简单介绍及使用
- JSP的九大内置对象及JSP的基本用法
- JSP 之 三大指令、四大基本语法、七大动作、九大内置对象
- JSP基本语法总结【2】九大内置对象
- jsp三大编译指令、七大处理指令、九大内置对象简单笔记
- JSP内置对象:Request和Response的简单介绍及使用
- jsp的九大内置对象
- JSP九大内置对象
- JSP九大内置对象及四个作用域
- JSP九大内置对象及四个作用域
- JSP的九大内置对象及四个作用域_欢迎您的光临_百度空间(转载)
- JSP九大内置对象
- JSP九大内置对象详解
- jsp 九大内置对象