`
liu1028701143
  • 浏览: 35004 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

JSP内置对象详解

 
阅读更多

1、Out对象

主要用来向客户端输出各种格式的数据,并且管理应用服务器上的输出缓冲区,Out对象的基类是javax.servlet.jsp.JspWriter类。
Out对象主要用来向客户端输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区,其基类是JspWriter.Out对象的主要方法为:
out.print(类型)或out.println(类型):out.print()方法与out.println()方法的区别是out.print()方法在输出完毕后,并不结束该行,而out.println()方法在输出完毕后,会结束当前行,下一个输出语句将在下一行开始输出.
out.newLine():输出一个换行符号.
out.clearBuffer():清除缓冲区里的数据,并且把数据写到客户端去.
out.clear():清除缓冲区里的数据,但不把数据写到客户端去.
out.getRemaining():获取缓冲区中没有被占用的空间的大小.

out.flush():输出缓冲区里的数据.out.flush()方法也会清除缓冲区中的数据,但是此方法会先将之前缓冲区中的数据输出至客户端,然后再清除缓冲区中的数据.
out.getBufferSize():获得缓冲区的大小,缓冲区的大小可以用来设置.
out.isAutoFlush():返回布尔值,如果auto flush,那么返回true,反之返回false.是否auto fush可以用来设置.
out.close():关闭输出流,从而可以强制终止当前页面的剩余部分向浏览器输出.


Out的主要方法:

out.println(DataType);或out.print(DataType);

实例:

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> out对象使用实例</TITLE>
</HEAD>
<BODY>
<%
out.println(new Date().toLocaleString());
out.print("<BR>");
out.print("测试成功");
%>
</BODY>
</HTML>

2、Request对象
Request内置对象代表了客户端的请求信息,主要用于接受客户端通过HTTP协议传送给服务器端的数据.在客户端的请求中如果有参数,则该对象就有一个参数列表.它通常是HttpServlet-Request的子类,其作用域就是一次Request请求.

Request对象包括很多方法,主要有:
getCookies():返回客户端的cookie对象,结果是一个cookie数组.
getSession(boolean create):返回和当前客户端请求相关联的HttpSession对象,如果当前客户端请求没有和任何HttpSession对象关联,那么当create变量为true,则创建一个HttpSession对象并返回;反之,返回null.
getHeader(String name):获得http协议定义的传送文件头信息。
getAttribute(String name):返回name指定的属性值,若不存在指定的属性,就返回null.
getattributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例.
getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例.getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例.
getMethod():返回客户端向服务器端传送数据的方法,一般方法有GET,POST,PUT等类型.
getParameter(String name):以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由name指定.当传递给此方法的参数名没有实际参数与之对应时,返回null.
getparameterNames():返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例.当传递给此方法的参数名没有实际参数与之对应时,返回null.
getParameterValues(String name):以字符串数组的形式返回指定参数所有值.
getQueryString():返回查询字符串,该字符串由客户端以GET方法向服务器端传送.
getRequestURI():获得发出请求字符串的客户端地址.
getServletPath():获得客户端所请求的脚本文件的文件路径.
setAttribute(String name,Java.lang.Object o):设定名字为name的request参数值,该值由Object类型的o指定.
getServerName():获得服务器的名字,如果没有设定服务器名,则返回服务器IP地址.
getServerPort():获得服务器的端口号.
getRemoteAddr():获得客户端的IP地址.
getRemoteHost():获得客户端主机的名字,若失败,则返回客户端电脑的IP地址.
getProtocol():获取客户端向服务器端传送数据所依据的协议名称,如http/1.1.
getContentLength():以字节为单位返回客户端请求的大小.如果无法得到该请求的大小,则返回-1.
getContentType():获取客户端请求的MIME类型.如果无法得到该请求的MIME类型,那么返回-1.
getInputStream():以二进制的形式将客户端的请求以一个ServletInputStream的形式返回.使用此方法可以获得客户端的multipart/form-data数据,可以实现文件上传.

isSecure():如果客户机是通过一个安全的访问方式访问的,就返回true;反之,返回false.
getDateHeader():返回一个long类型的数据,表示客户端发送到服务器的头信息中的时间信息.
getInitHeader():获取客户端发送到服务器端的头信息中的某一个特定的信息,并转换为int类型.
getContextPath():返回环境路径.对于JSP来说,一般是当前Web应用程序的根目录.
isRequestedSessionIdValid():返回一个指示客户端请求发送Session ID是否仍然有效的布尔值.
isRequestedSessionIdFromCookie():返回一个指示客户端请求发送Session ID是否存在于Cookie中的布尔值.
isRequestedSessionIdFromURL():返回一个指示客户端请求发送Session ID是否存在于URL中的布尔值.


Request.setAttribute()与Request.getAttribute()方法实例(也可以使用forward建立请求关系):

主页面:

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<%@ include file="1.jsp" %>
你刚才输入的内容是:
<%=request.getAttribute("gr")%>

引入页面:

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> request对象使用实例</TITLE>
</HEAD>
<BODY>
<%
request.setAttribute("gr","123333");
%>
</FORM>
</BODY>
</HTML>

Request.getParameter()方法实例

主页面

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> request.getParameter()方法使用实例</TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST ACTION="2.jsp">
<INPUT TYPE="text" NAME="gr1"><BR>
<INPUT TYPE="text" NAME="gr2"><BR>
<INPUT TYPE="text" NAME="gr3"><BR>
<INPUT TYPE="submit" NAME="submit" value="提交">
<INPUT TYPE="reset" NAME="reset" value="清除">
</FORM>
</FORM>
</BODY>
</HTML>

引入页面

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
你刚才输入的内容是:<BR>
<%=request.getParameter("gr1")%><BR>
<%=request.getParameter("gr2")%><BR>
<%=request.getParameter("gr3")%><BR>

Request.getParameterName()方法实例

主页面

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> request.getParameterName()方法使用实例</TITLE>
</HEAD>
<BODY>
<FORM METHOD=post ACTION="2.jsp">
<INPUT TYPE="text" NAME="gr1"><BR>
<INPUT TYPE="text" NAME="gr2"><BR>
<INPUT TYPE="text" NAME="gr3"><BR>
<INPUT TYPE="submit" value="提交">
<INPUT TYPE="reset" value="清除">
</FORM>
</FORM>
</BODY>
</HTML>

指向页面

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
你刚才输入的内容是:<BR>
<%
Enumeration e=request.getParameterNames();
while(e.hasMoreElements()){
String parameterName=(String)e.nextElement();
String parameterValue=(String)request.getParameter(parameterName);
out.print("参数名称:"+parameterName+"<BR>");
out.print("参数内容:"+parameterValue+"<BR>");
}
%>

Request.getAttributeName()方法实例

主页面:




5、Session对象
getId():返回Session对象在服务器端的编号.每生成一个Session对象,服务器都会给它一个编号,并且该编号不会重复,这样服务器才能根据编号来识别Session,并且正确的处理某一特定的Session及其提供的服务.
getCreationTime():返回Session对象被创建的时间,单位为毫秒.
getLastAccessedTime():返回当前Session对象最后一次被操作的时间,时间的单位为毫秒.
getMaxInactiveInterval():获取Session对象的生存时间,时间的单位为秒.
setMaxInactiveInterval(int interval):设置Session的有效时间(也叫超时时间),时间的单位为秒.
removeAttribute(String name)"删除指定的属性(包含属性名,属性值).如果在有效时间内,用户做出了新的请求,那么服务器就会将其看作一个新的用户,此时,服务器将创建一个新的Session,旧的Session信息将会丢失

当用户登陆网站,系统将为他生成一个独一无二的Session对象,用以记录改用户的个人信息
,一旦改用户退出网站,那么该Session对象将会注销。Session对象可以绑定若干个人信息或
者Java对象,不同Session对象的同名变量是不会相互干扰的。

getValue(String name)、putValue(String name)、removeValue(String name)、getValueNames()
、getCreationTime()、getId()、getLastAccessedTime()、getMaxInactiveInterval()、
setMaxInactiveInterval()方法:

主文件:



转向页面2



invalidate()方法将会将会清除当前的session对象解除它和任何参数或者JAVA对象的绑定关系

实例略







简单的JSP计数器
实例:

主页面



引入页面

<%!protected int count=0;%>
<%=++count%>
JavaBean设计规范及实例
javaBean的设计规范:
一个javaBean类必须是一个公共类
一个javaBean类必须有一个空的构造函数
一个javaBean类不应有公共实例变量
持有值应该通过一组存取方法(getXxx和setXxx)来访问
实例:


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics