JSP内部对象详解

JSP内部对象详解
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.*" 
%> 
<HTML> 
<HEAD> 
<TITLE> out对象使用实例</TITLE> 
</HEAD> 
<BODY> 
<% 
out.println(new Date().toLocaleString()); 
out.print("<BR>"); 
out.print("测试成功"); 
%> 
</BODY> 
</HTML> 

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.*" %> 
<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()方法实例 
主页面: 
<%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %> 
<HTML> 
<HEAD> 
<TITLE> request.getAttributeName()方法使用实例</TITLE> 
</HEAD> 
<BODY> 
<jsp:include page="2.jsp" flush="true"/> 
<% 
Enumeration e=request.getAttributeNames(); 
while(e.hasMoreElements()){ 
String attributeName=(String)e.nextElement(); 
String attributeValue=(String)request.getAttribute(attributeName); 
out.print("变量名称:"+attributeName); 
out.print("变量内容:"+attributeValue+"<BR>"); 

%> 
</FORM> 
</FORM> 
</BODY> 
</HTML> 

转向页面 
<%@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" %> 
<HTML> 
<HEAD> 
<TITLE> request.getRemoteAddr()方法使用实例</TITLE> 
</HEAD> 
<BODY> 
<B>你的IP地址:</B> 
<B><%=request.getRemoteAddr()%></B> 
</FORM> 
</FORM> 
</BODY> 
</HTML> 

3、Response对象 
response.setHeader()方法网页自动刷新实例: 
<%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %> 
<HTML> 
<HEAD> 
<TITLE> response刷新页面实例</TITLE> 
</HEAD> 
<BODY> 
<% 
response.setHeader("refresh","3"); 
out.println(new Date().toLocaleString()); 
%> 
</BODY> 
</HTML> 

4、Application对象 
在JSP服务器运行时刻,仅有一个Application对象,它由服务器创建,也由服务器自动清除, 
不能被用户创建和清除。我们只能创建这个Appliation对象的同步拷贝。 
setAttribute(),getAttribute()和removeAttribute()方法实例: 
<%@page language="java" contentType="text/html;charset=gb2312" %> 
<HTML> 
<HEAD> 
<TITLE> Application对象方法实例</TITLE> 
</HEAD> 
<BODY> 
<% 
String username="rossini"; 
String password="126263"; 
application.setAttribute("username",username); 
application.setAttribute("password",password); 
out.println(application.getAttribute("username")+"<BR>"); 
out.println(application.getAttribute("password")+"<BR>"); 
application.removeAttribute("password"); 
out.println(application.getAttribute("password")+"<BR>"); 
%> 
</BODY> 
</HTML> 
getAttributeNames()方法实例: 
<%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %> 
<HTML> 
<HEAD> 
<TITLE> Application对象方法实例</TITLE> 
</HEAD> 
<BODY> 
<% 
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)+"<BR>"); 

%> 
</BODY> 
</HTML> 

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" %> 
<HTML> 
<HEAD> 
<TITLE> Session主页面</TITLE> 
</HEAD> 
<BODY> 
<% 
String username="rossini"; 
String password="126263"; 
session.putValue("username",username); 
session.putValue("password",password); 
%> 
<A HREF="2.jsp">指向第二页</A> 
</BODY> 
</HTML> 
转向页面1 
<%@page language="java" contentType="text/html;charset=gb2312" %> 
<HTML> 
<HEAD> 
<TITLE> Session转向页面1</TITLE> 
</HEAD> 
<BODY> 
<% 
String usr=(String)session.getValue("username"); 
String pwd=(String)session.getValue("password"); 
%> 
<%=usr%><BR> 
<%=pwd%><BR> 
<%out.println("session create:"+session.getCreationTime());%><BR> 
<%out.println("session id:"+session.getId());%><BR> 
<%out.println("session last access:"+session.getLastAccessedTime());%><BR> 
<%out.println("session 原来最大休眠时间:"+session.getMaxInactiveInterval());%><BR> 
<%session.setMaxInactiveInterval(session.getMaxInactiveInterval()+1);%><BR> 
<%out.println("session 最新最大休眠时间:"+session.getMaxInactiveInterval());%><BR 
<% 
String []name=session.getValueNames(); 
out.println("--------------"+"<BR>"); 
for(int i=0;i<name.length;i++) 

out.println(session.getValue(name[i])+"<BR>"); 

%> 
<% 
session.removeValue("username"); 
%> 
<A HREF="3.jsp">指向第三页</A> 
</BODY> 
</HTML> 
转向页面2 
<%@page language="java" contentType="text/html;charset=gb2312" %> 
<HTML> 
<HEAD> 
<TITLE> Session转向页面2</TITLE> 
</HEAD> 
<BODY> 
<% 
String usr=(String)session.getValue("username"); 
String pwd=(String)session.getValue("password"); 
%> 
<%=usr%><BR> 
<%=pwd%> 
</BODY> 
</HTML> 
invalidate()方法将会将会清除当前的session对象解除它和任何参数或者JAVA对象的绑定关系
简单的JSP计数器 
实例: 
主页面 
<%@page language="java" contentType="text/html;charset=gb2312" %> 
<HTML> 
<HEAD> 
<TITLE> JSP计数器 </TITLE> 
</HEAD> 
<BODY> 
<div align="center"><font face="黑体" size="10">你是第<jsp:include page="11.jsp" flush="true"/> 位访客</font> </div> 
</BODY> 
</HTML> 
引入页面 
<%!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; 


你可能感兴趣的:(JSP内部对象详解)