null内 置 对 象 内 置 对 象 null 有些成员变量不用声明就可以在JSP页面的脚本(Java程序片和Java表达式)中使用,这就是所谓的内置对象。
主要的内置对象有:
resquest
response
session
out
Application
pagenull(1)request
request包含了来自浏览器请求的相关信息,并且提供了获取Cookie、header和请求相关的参数值等数据的有效方法。
request对象封装了用户提交的信息,通过调用该对象相应的方法可以获取用户提交的信息。
(2)response
response主要将JSP处理后的结果传回到客户端(如Cookie、header信息等),它提供了将数据送回浏览器的方法。null(3)out
out对象用于向浏览器回送输出结果。
(4)pageContext
pageContext对象存储当前JSP页面相关信息,如属性、内建对象等。
(5)session
session对象用于存储每一个用户的状态信息,以便跟踪用户的会话状态,直到客户端与服务器断开连接为止,可用来识别每个用户。null(6)application
applicaton负责提供应用程序在服务器中运行的全局信息,当应用程序在服务器中启动时该对象就一直存在,直到服务器关闭为止,所有客户共享这个内置的application对象。applicaton可用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。1.1 request对象 1.1 request对象 内置对象request对象是实现了ServletRequest接口类的一个实例.
当客户端请求一个JSP页面时,JSP容器会将客户端的请求信息包装在这个request对象中。
请求信息的
包括请求的头信息(Header)、系统信息(比如:编码方式)、请求的方式(比如:GET或POST)、请求的参数名称和参数值等信息。
1.1.1获取客户提交的信息1.1.1获取客户提交的信息 request对象代表的是来自客户端的请求,例如:我们在FORM表单中填写的信息等,是最常用的对象。
获取查询字符串中的变量值
① getParameter( )
② getParameterValues( )
③ getParameterNames( )
通过调用这几个方法来获取请求对象中所包含的参数的值。request对象示例request对象示例
request对象示例(Hello_req.jsp)request对象示例(Hello_req.jsp)<%@ page contentType="text/html;Charset=gb2312" %>
<%@ page import="java.util.*" %>
你好,
<%! String Name;%>
<%
Name=request.getParameter("UserName");
%>
<%=Name%>,
今天是
<%
Date today=new Date();
%>
<%=today.getDate()%>号,星期<%=today.getDay()%>
request对象示例(输出结果)request对象示例(输出结果)
你好,
独孤求败,
今天是
9号,星期1
nullexample4_1.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="com"%>
<% String textContent=request.getParameter("number");
if(textContent==null || textContext.equals(""))
{ out.println("请在文本框中输入数字,按提交按钮");
}
else
{
%> 调用Computer.tag文件负责计算平方根
<% }
%>
nullCompter.tag
<%@ attribute name="number" %>
<% try{ double n=Double.parseDouble(number);
if(n>=0)
{ double r=Math.sqrt(n) ;
out.print("
"+n+"的平方根:");
out.print("
"+r);
}
else
{ out.print("
"+"请输入一个正数");
}
}
catch(NumberFormatException e)
{ out.print("
"+"请输入数字字符");
}
%>得到Form表单的信息一得到Form表单的信息一 通常我们用得最多的就是客户端请求的参数名称和参数值信息。
得到某参数值的语法为:
request.getParameter(”param1“)
也可以通过request对象的getParameterNames()方法得到客户端传递过来的所有参数名字。
如:Enumeration params = request.getParameterNames();得到Form表单的信息二得到Form表单的信息二案例名称:HTML表单
程序名称:4-14.html
null 案例2-2:表单信息的提交与获取
(1)input.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
null(2)receive.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<% String yourName=request.getParameter("name"); // 获取text提交的值
String yourSex=request.getParameter("R"); //获取radio提交的值
String secretMess=request.getParameter("secret"); //获取hidden提交的值
String personName[]=request.getParameterValues("superstar"); //获取checkbox提交的值
out.println(" 您的姓名:"+yourName+"
");
out.println(" 您的性别:"+yourSex+"
");
out.println(" 您喜欢的歌手:");null if(personName==null || personName.length==0)
{ out.print("一个都不喜欢");
}
else
{ for(int k=0;k hidden提交的值:"+secretMess);
%>
1.1.2处理汉字信息 1.1.2处理汉字信息 当利用request.getParameter得到Form中元素的时候,默认的情况字符编码为ISO-8859-1,这种编码不能正确的显示汉字。
一种方法是转换字符编码
<%
String str=request.getParameter(“girl");
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
%>nullexample4_2.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
nullshowMessage1.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
获取文本框提交的信息:
<% String textContent=request.getParameter("boy");
%>
<%=textContent%>
获取按钮的名字:
<% String buttonName=request.getParameter("submit");
%>
<%=buttonName%>