jsp九种内置对象:request, reponse, out, session, application, config, pagecontext, page, exception.
1.Request
request代表 着客户端的请求信息,主要用于接受通过http协议传送到服务器的数据。request对象的作用域为一次请求
Request常用的方法:
1.1getParameter(String strTextName) 获取表单提交的信息.
参数说明:
name:要获取参数的名称。
返回值:指定名称的参数值。
<form action = "index.jsp">
<input name = "name" type="text">
<input type = "submit" value="提交">
</form>
<%
String name = request.getParameter("name");
out.println("用户姓名是:"+name);
%>
1.2.getProtocol() 获取客户使用的协议。
<%
String p = request.getProtocol();
out.println("使用的协议为:"+p);
%>
1.3.String strProtocol=request.getProtocol();
<%
String p = request.getProtocol();
out.println("使用的协议为:"+p);
%>
1.4.getServletPath() 获取客户提交信息的页面。String strServlet=request.getServletPath();
<%
String path = request.getServletPath();
out.println("访问的页面文件的路径为:"+path);
%>
1.5.getMethod() 获取客户提交信息的方式 String strMethod=request.getMethod();
<%
String mName = request.getMethod();
out.println("表单提交请求使用的方法是:"+mName);
%>
1.6.getHeader() 获取HTTP头文件中的accept,accept-encoding和Host的值,String strHeader=request.getHeader();
<%
String ct = request.getHeader("content-type");
out.println("Content-type="+ct);
%>
1.7.getRermoteAddr() 获取客户的IP地址。String strIP=request.getRemoteAddr();
<%
String p = request.getRemoteAddr();
out.println("客户端的IP地址为:"+p);
%>
1.8.getRemoteHost() 获取客户机的名称。String clientName=request.getRemoteHost();
<%
String p = request.getRemoteHost();
out.println("客户端的主机名称为:"+p);
%>
1.9.getServerName() 获取服务器名称。 String serverName=request.getServerName();
<%
String serName = request.getServerName();
out.println("服务器端的名字为:"+serName);
%>
1.10.getServerPort() 获取服务器的端口号。 int serverPort=request.getServerPort();
<%
int port = request.getServerPort();
out.print("服务器的端口号为:"+port);
%>
1.11.getParameterNames() 获取客户端提交的所有参数的名字。
<form action = "index.jsp">
<input name = "name" type="text">
<input type = "submit" value="提交">
</form>
<%
String name = request.getParameter("name");
out.println("用户姓名是:"+name);
%>
运行结果:
2、response
response代表对客户端的请求,主要将jsp容器处理过 的对象传回客户端,它只在jsp页面有效。
response常用方法:
2.1.setContentType(String s),改变contentType的属性值
<%
response.setContentType("video/x-msvideo");
%>
2.2.response.sendRedirect(index.jsp);重定向
<%
response.sendRedirect("http://www.mrbccd.com");
%>
运行结果:
3、session
session是一个jsp内置对象,在第一个jsp页面被加载时自动创建,完成会话期的管理。当客户进行请求jsp页面的时候,jsp引擎会自动创建一个session对象,给这个对象一个id号,jsp引擎将这个id号发送给客户端,存放在cookie中。该对象保存的数据格式为key/value
session常用方法:
3.1.public String getId()h获取session对象的id
3.2.public void setAttribute(String key,Object obj)将参数Object指定的对象obj添加到Session对象中,并为添加的对象指定一个索引关键字。
3.3.public Object getAttribute(String key):获取Session对象中含有关键字的对象。
3.4.public Boolean isNew():判断是否是一个新的客户。
out.print(session.getAttribute("text1")+"返回指定名称绑定的对象");out.print("<br>");//返回指定名称绑定的对象
out.print(session.getAttributeNames()+"返回所有对象名称");out.print("<br>");//返回所有对象名称
out.print(session.getCreationTime()/(24*3600000*365.3)+"返回session对象被创建的时间,从1970年开始以毫秒计算");out.print("<br>");//返回session对象被创建的时间
out.print(session.getId()+"返回session对象的id");out.print("<br>");//返回session对象的id
out.print(session.getLastAccessedTime()/(24*3600000*365.3)+"返回访问客户端的最后时间从1970年开始以毫秒计算");out.print("<br>");//返回访问客户端的最后时间从1970年开始以毫秒计算
out.print(session.getMaxInactiveInterval()+"返回最大时间间隔");out.print("<br>");//返回最大时间间隔
运行结果:
4、application
只要服务器一启动就会创建该对象,直到服务器关闭,所有客户的application对象都是同一个
application常用方法:
4.1.setAttribute(String key,Object obj):将参数Object指定的对象obj添加到Application对象中,并为添加的对象指定一个索引关键字。
4.2.getAttribute(String key):获取Application对象中含有关键字的对象。
application.setAttribute("shuxing1","this is shuxing1");//创建对象并为对象赋值
application.setAttribute("shuxing2","this is shuxing2");
application.removeAttribute("shuxing2");//删除对象的属性
out.print(application.getAttribute("shuxing1")+"获取指定对象的属性");
out.print("<br>");//获取指定对象的属性
out.print(application.getAttribute("shuxing2")+"获取指定对象的属性");
out.print("<br>");
out.print(application.getAttributeNames()+"获取所有的属性名称");
out.print("<br>");//获取所有的属性名称
out.print(application.getContextPath()+"获取当前web程序的根目录");
out.print("<br>");//获取当前web程序的根目录
out.print(application.getMajorVersion()+"获取获取Servlet API的主版本号");
out.print("<br>");//获取Servlet API的主版本号
out.print(application.getMinorVersion()+"获取获取Servlet API的次版本号");
out.print("<br>");//获取Servlet API的次版本号
out.print(application.getServerInfo()+"获取当前Web服务器的版本信息");
out.print("<br>");//获取当前Web服务器的版本信息
out.print(application.getServletContextName()+"获取当前Web应用程序的名称");
out.print("<br>");//获取当前Web应用程序的名称
***
运行结果:
5、out***
out用于在浏览器中输出信息,并且管理应用服务器上的输出缓冲区
out常用方法:
5.1.out.print():输出各种类型数据。
print(boolean b)
<%
out.print(3>2);
%>
print(char c)
<%
char c = 'A';
out.print(c);
%>
print(int i)
<%
int num = 96;
out.print(num);
%>
print(long l)
<%
int num = 96;
long sum = 10;
out.print(sum+num);
%>
print(float f)
<%
int num = 96;
float price = 0.76f;
out.print(num*price);
%>
print(double d)
<%
int num = 96;
double price = 1.76f;
out.print(num*price);
%>
print(char[] s)
<%
char[] s = new char[]{'J','a','v','a'};
out.print(s);
%>
print(String s)
<%
String s = "Java是一种工具";
out.print(s);
%>
print(Object obj)
<%
Date date = new Date();
out.print(date);
%>
5.2.out.newLine():输出一个换行符。
<body>
<p>利用out对象输出换行符号</p>
<%out.write("世界上最宽阔的是大海");%>
<%out.newLine();%>
<%out.write("比大海宽阔的是天空");%>
<%out.newLine();%>
<%out.write("比天空宽阔的是人的胸怀");%>
</body>
5.3.out.close():关闭流。
<%
out.println("1111");
out.close();
out.println("1");
%>
6、configconfig
对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。
7、pageContext
可以取得任何范围的参数,通过它可以获取jsp页面的out、request、response、application等对象
8、page
代表jsp本身,有点像java中 的this关键字
9、exception
用于显示异常信息,只有在包含isErrorPage="true"的页面才能被使用