1、Out对象 out.flush():输出缓冲区里的数据.out.flush()方法也会清除缓冲区中的数据,但是此方法会先将之前缓冲区中的数据输出至客户端,然后再清除缓冲区中的数据.
<% out.println(new Date().toLocaleString()); out.print(" "); out.print("测试成功"); %> 2、Request对象 Request内置对象代表了客户端的请求信息,主要用于接受客户端通过HTTP协议传送给服务器端的数据.在客户端的请求中如果有参数,则该对象就有一个参数列表.它通常是HttpServlet-Request的子类,其作用域就是一次Request请求. Request对象包括很多方法,主要有: isSecure():如果客户机是通过一个安全的访问方式访问的,就返回true;反之,返回false.
<% request.setAttribute("gr","123333"); %> Request.getParameter()方法实例 主页面 <%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %> 引入页面 <%@page language="java" contentType="text/html;charset=gb2312" %> 你刚才输入的内容是: <%=request.getParameter("gr1")%> <%=request.getParameter("gr2")%> <%=request.getParameter("gr3")%> Request.getParameterName()方法实例 主页面 <%@page language="java" contentType="text/html;charset=gb2312" %> 指向页面 <%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %> 你刚才输入的内容是: <% Enumeration e=request.getParameterNames(); while(e.hasMoreElements()){ String parameterName=(String)e.nextElement(); String parameterValue=(String)request.getParameter(parameterName); out.print("参数名称:"+parameterName+" "); out.print("参数内容:"+parameterValue+" "); } %> Request.getAttributeName()方法实例 主页面: <%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %> <% Enumeration e=request.getAttributeNames(); while(e.hasMoreElements()){ String attributeName=(String)e.nextElement(); String attributeValue=(String)request.getAttribute(attributeName); out.print("变量名称:"+attributeName); out.print("变量内容:"+attributeValue+" "); } %> 转向页面 <%@page language="java" contentType="text/html;charset=gb2312" %> <% request.setAttribute("gr1","111"); request.setAttribute("gr2","222"); request.setAttribute("gr3","333"); %> request.getRemoteAddr()方法实例: <%@page language="java" contentType="text/html;charset=gb2312" %> 你的IP地址: <%=request.getRemoteAddr()%> 3、Response对象 Response对象实现HttpServletResponse接口,可对客户的请求做出动态的响应,向客户端发送数据,如Cookie,HTTP文件头信息等,一般是HttpServlet.Response类或其子类的一个对象.该对象的常用方法为: addCookie(Cookie cookie):添加一个Cookie对象,用来保存客户端的用户信息,用request的getCookies()方法可以获得这个Cookie. addHeader(String name,String value):添加HTTP文件头,该header将会传到客户端去,如果有同名的header存在,那么原来的header将会被覆盖掉. containsHeader(String name):判断指定名字的HTTP文件头是否存在,并返回布尔值. sendError(int sc):向客户端发送错误信息,例如,505指示服务器内部错误;404指示网页找不到的错误. Session是一种服务器个别处理与记录用户端上网使用者信息的技术.当使用者与服务器联机时,服务器可以给每一个上网的使用者一个Session并设定其中的内容,这些Session都是个别独立的,服务器端可以借此来辨别使用者信息进而提供个别的服务. Session对象的常用方法为:
<% response.setHeader("refresh","3"); out.println(new Date().toLocaleString()); %> 4、Application对象 在JSP服务器运行时刻,仅有一个Application对象,它由服务器创建,也由服务器自动清除, 不能被用户创建和清除。我们只能创建这个Appliation对象的同步拷贝。 Application对象和Session对象相比,含义更加广泛.在使用Session对象时,各个客户端共享一个Session对象,而使用Application对象时,在同一个服务器中的JSP文件共享一个Application对象.Application对象主要方法为:
<% String username="rossini"; String password="126263"; application.setAttribute("username",username); application.setAttribute("password",password); out.println(application.getAttribute("username")+" "); out.println(application.getAttribute("password")+" "); application.removeAttribute("password"); out.println(application.getAttribute("password")+" "); %> getAttributeNames()方法实例: <%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %> <% String username="rossini"; String password="126263"; application.setAttribute("username",username); application.setAttribute("password",password); Enumeration enum=application.getAttributeNames(); while(enum.hasMoreElements()){ String attrName=(String)enum.nextElement(); out.println(attrName+"----"+application.getAttribute(attrName)+" "); } %> 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()方法: 主文件: <%@page language="java" contentType="text/html;charset=gb2312" %> <% String username="rossini"; String password="126263"; session.putValue("username",username); session.putValue("password",password); %> 指向第二页 转向页面1 <%@page language="java" contentType="text/html;charset=gb2312" %> <% String usr=(String)session.getValue("username"); String pwd=(String)session.getValue("password"); %> <%=usr%> <%=pwd%> <%out.println("session create:"+session.getCreationTime());%> <%out.println("session id:"+session.getId());%> <%out.println("session last access:"+session.getLastAccessedTime());%> <%out.println("session 原来最大休眠时间:"+session.getMaxInactiveInterval());%> <%session.setMaxInactiveInterval(session.getMaxInactiveInterval()+1);%> <%out.println("session 最新最大休眠时间:"+session.getMaxInactiveInterval());%> <% String []name=session.getValueNames(); out.println("--------------"+" "); for(int i=0;i out.println(session.getValue(name[i])+" "); } %> <% session.removeValue("username"); %> 指向第三页 转向页面2 <%@page language="java" contentType="text/html;charset=gb2312" %> <% String usr=(String)session.getValue("username"); String pwd=(String)session.getValue("password"); %> <%=usr%> <%=pwd%> invalidate()方法将会将会清除当前的session对象解除它和任何参数或者JAVA对象的绑定关系 实例略 简单的JSP计数器 实例: 主页面 <%@page language="java" contentType="text/html;charset=gb2312" %> 你是第 引入页面 <%!protected int count=0;%> <%=++count%> JavaBean设计规范及实例 javaBean的设计规范: 一个javaBean类必须是一个公共类 一个javaBean类必须有一个空的构造函数 一个javaBean类不应有公共实例变量 持有值应该通过一组存取方法(getXxx和setXxx)来访问 实例: package Show; import java.sql.*; public class DBconn{ private String sDBDriver="org.gjt.mm.mysql.Driver"; private String sConnStr="jdbc:mysql://10.1.1.79:3306/web?user=root&password=2676141"; private Connection conn=null; private ResultSet rs=null; public DBconn(){ try{ Class.forName(sDBDriver); } catch(java.lang.ClassNotFoundException e){ System.out.println("DBconn():"+e.getMessage()); } } public String getsConnStr(){ return sConnStr; } public void setsConnStr(String sConnStr){ this.sConnStr=sConnStr; } public void executeUpdate(String sql)throws Exception{ sql=new String(sql.getBytes("GBK"),"ISO8859_1"); try{ conn=DriverManager.getConnection(sConnStr); Statement stmt=conn.createStatement(); stmt.executeUpdate(sql); conn.close(); stmt.close(); } catch(SQLException ex){ System.out.println("sql.executeUpdate:"+ex.getMessage()); } } public ResultSet executeQuery(String sql)throws Exception{ rs=null; try{ sql=new String(sql.getBytes("GBK"),"ISO8859_1"); conn=DriverManager.getConnection(sConnStr); Statement stmt=conn.createStatement(); rs=stmt.executeQuery(sql); conn.close(); stmt.close(); } catch(SQLException ex){ System.out.println("sql.executeQuery:"+ex.getMessage()); } return rs; } } |