分享

JSP内部对象详解

 昵称2807 2005-11-21

1、Out对象 
主要用来向客户端输出各种格式的数据,并且管理应用服务器上的输出缓冲区,Out对象的基类是javax.servlet.jsp.JspWriter类。 
Out的主要方法: 
out.println(DataType);或out.print(DataType); 
实例: 
<%@page language="java" 
contentType="text/html;charset=gb2312" 
import="java.util.*" 
%> 
 
 
 
 
 
<% 
out.println(new Date().toLocaleString()); 
out.print("
"); 
out.print("测试成功"); 
%> 
 
 

2、Request对象 
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.*" %> 
 
 
 
 
 
<% 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.setHeader()方法网页自动刷新实例: 
<%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %> 
 
 
 
 
 
<% 
response.setHeader("refresh","3"); 
out.println(new Date().toLocaleString()); 
%> 
 
 

4、Application对象 
在JSP服务器运行时刻,仅有一个Application对象,它由服务器创建,也由服务器自动清除, 
不能被用户创建和清除。我们只能创建这个Appliation对象的同步拷贝。 
setAttribute(),getAttribute()和removeAttribute()方法实例: 
<%@page language="java" contentType="text/html;charset=gb2312" %> 
 
 
 
 
 
<% 
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对象 
当用户登陆网站,系统将为他生成一个独一无二的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; 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多