`
liuxi1024
  • 浏览: 390100 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基础巩固-jsp内置对象

阅读更多

1、request对象

request对象封装了客户端的请求信息,服务端通过request对象可以了解到客户端的需求,然后做出响应。request对象是 HttpServletRequest(接口)的实例。HttpServletRequest接口继承自ServletRequest接口,只是增加了一 些HTTP相关的方法。所谓的request(在JSP中使用的)其实只是规范中的一个名称而已,它是一个对象,但并不是由SUN提供,而是由各个不同的 Servlet提供商编写的,SUN只是规定这个类要实现HttpServletRequest接口,并且规定了各个方法的用途,但具体的实现则由各个提 供商自己决定。

(1)setAttribute(String name, Object value) 和 getAttribute(String name)

(2)getParameter(String)

获得客户端传送给服务端的参数值,该参数由name指定。

(3)void setCharacterEncoding(String charEncoding)和String getCharacterEncoding()

前者用来设置请求的字符编码格式,后者返回请求的当前字符编码格式。

(4)getContextPath()和getRealPath()

前者获取相对路径,后者回去绝对路径。

(5)以下方法用来获取客户端请求中的相关信息:

int getContentLength() 返回请求体的长度(以字节数)。

String getContentType() 得到请求体的MIME类型。

String getProtocol() 返回请求用的协议类型及版本号。

String getScheme() 返回请求用的协议名,如:http.https及ftp等。

String getServerName() 返回接受请求的服务器主机名

int getServerPort() 返回服务器接受此请求所用的端口号

String getRemoteAddr() 返回发送此请求的客户端IP地址

String getRemoteHost() 返回发送此请求的客户端主机名

String getRealPath(String path) 返回一虚拟路径的真实路径

 

例子

<%@ page language="java" contentType="text/html; charset=GBK"
	pageEncoding="GBK"%>
<%@ page import="java.util.Enumeration" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body>
<Font size=5> <BR>
客户使用的协议是: 
<%  String protocol=request.getProtocol();  
	out.println(protocol); 
%> <BR>
获取接受客户提交信息的页面:
<%  String path=request.getServletPath(); 
	out.println(path);
%> <BR>
接受客户提交信息的长度:
<%  int length=request.getContentLength(); 
	out.println(length); 
%> <BR>
客户提交信息的方式:
<%  String method=request.getMethod(); 
	out.println(method);
%> <BR>
获取HTTP头文件中User-Agent的值:
<%  String header1=request.getHeader("User-Agent"); 
	out.println(header1);
%> <BR>
获取HTTP头文件中accept的值:
<%  String header2=request.getHeader("accept"); 
	out.println(header2); 
%> <BR>
获取HTTP头文件中Host的值:
<%  String header3=request.getHeader("Host"); 
	out.println(header3); 
%> <BR>
获取HTTP头文件中accept-encoding的值:
<%  String header4=request.getHeader("accept-encoding"); 
	out.println(header4);
%> <BR>
获取客户的IP地址:
<%  String IP=request.getRemoteAddr(); 
	out.println(IP); 
%> <BR>
获取客户机的名称:
<%  String clientName=request.getRemoteHost(); 
	out.println(clientName); 
%> <BR>
获取服务器的名称:
<%  String serverName=request.getServerName(); 
	out.println(serverName); 
%> <BR>
获取服务器的端口号:
<%  int serverPort=request.getServerPort(); 
	out.println(serverPort); 
%> <BR>
获取客户端提交的所有参数的名字:
<% Enumeration enume=request.getParameterNames(); 
while(enume.hasMoreElements())
{String s=(String)enume.nextElement();
out.println(s);
}
%> <BR>
获取头名字的一个枚举: 
<% Enumeration enum_headed=request.getHeaderNames();
while(enum_headed.hasMoreElements())
{String s=(String)enum_headed.nextElement();
out.println(s);
}
%> <BR>
获取头文件中指定头名字的全部值的一个枚举:
<% Enumeration enum_headedValues=request.getHeaders("cookie");
while(enum_headedValues.hasMoreElements())
{String s=(String)enum_headedValues.nextElement();
out.println(s);
}
%> <BR>

</Font>
</body>
</html>
 

HttpServletRequest的API文档:
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html

 

2、response对象

response对象包含了响应客户端请求的有关信息,它是HttpServletResponse的实例。

(1)String getCharacterEncoding()
返回响应用的是何种字符编码,该输出同page编译指令的pageEncoding是相关的。

(2)ServletOutputStream getOutputStream()
返回响应的一个二进制输出流

(3)PrintWriter getWriter()
返回可以向客户端输出字符的一个对象

(4)void setContentLength(int len)
设置响应头长度

(5)void setContentType(String type)
设置响应的MIME类型

(6) sendRedirect(java.lang.String location)
重新定向客户端的请求
 

3、out对象

out对象是JspWriter类的实例,是向客户端输出内容常用的对象.

 

<%
out.println("<html>");
out.println("<head>");
out.println("<title>");
out.println("<test");
out.println("</title>");
out.println("</head>");
out.println("<body>");
out.println("<hl>");
out.println("out对象示例");
out.println("</hl>");
out.println("</body>");
out.println("</html>");
%>

 4、application/session对象

application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户 的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭 决定了application对象的生命。它是ServletContext类的实例。

session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。

 

您是第
<%
String count=(String)application.getAttribute("count");
if(count==null){
    count="1";
}else{
    count=Integer.parseInt(count)+1+"";
}
application.setAttribute("count",count);

%>

<% out.println(count); %>
访问者

 

session.isNew()方法------判断一个会话是否是新的会话!

 

5、page对象

page对象就是指向当前JSP 页面本身,有点象类中的this指针,它是java.lang.Object类的实例

 

6、exception对象

exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP 页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象

 

page1.jsp

<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK" errorPage="error.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body>
<%
 int i= 10/0;
%>
</body>
</html>

 error.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
	pageEncoding="GBK" isErrorPage="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body>
Error Message:getMessage() Method
<br>
<%
out.println(exception.getMessage());
%>
<br>
Error String:toString() Method
<br>
<%
out.println(exception.toString());
%>
</body>
</html>

 

7、pageContext对象

pageContext对象提供了对JSP 页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集成者,它的本类名也叫pageContext。

<%
         JspWriter myout=pageContext.getOut();
         myout.println("myout write: hello world"+"<br>");
         out.println("out write: hello world"+"<br>");

         String username1="george";
         String password1="george";
         HttpSession mySession= pageContext. getSession();
         mySession.putValue("username",username1);
		 mySession.putValue("password", password1);

         out.println("Session bind username:"+session.getValue("username")+"<br>");
		 out.println("Session bind password:"+session.getValue("password")+"<br><br>");
           
		 Object mypage=pageContext.getPage();
		 out.println("Compile Class Came:"+mypage.toString()+"<br><br>");

         ServletResponse myresponse=pageContext.getResponse();
         out.println("Character Encoding:"+ myresponse.getCharacterEncoding()+"<br><br>");

         ServletRequest myrequest=pageContext.getRequest();
		 out.println(myrequest.getRemoteHost());

          String username2="robin";
          String password2="robin";
          myrequest.setAttribute("username",username2);
          myrequest.setAttribute("password", password2);
          out.println("Request bind username:"+request.getAttribute("username")+"<br>");
          out.println("Request bind password:"+request.getAttribute("password") +"<br><br>");
        
          ServletContext myapplication=pageContext.getServletContext();
          out.println(myapplication.getServerInfo());
          String username3="java";
          String password3="java";
          myapplication.setAttribute("username",username3);
          myapplication.setAttribute("password", password3);
          out.println("Application bind username:"+application.getAttribute("username")+"<br>");
          out.println("Application bind password:" +application.getAttribute("password")+"<br><br>");
       %>
 

8、config对象

config对象是在一个Servlet初始化时,JSP 引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。

Server Info:
<br>
<%
out.println(config.getServletContext().getServerInfo());
%>
分享到:
评论

相关推荐

    jsp内置对象及常用函数总结

    为了更深入地学习JSP内置对象,你可以参考《JSP内置对象学习笔记(查网页)》这份文档,它应该包含了详细的介绍和示例代码,可以帮助你巩固和拓展这些知识。记住,实践是检验理论的最好方式,尝试在项目中应用这些...

    JSP内置对象的学习与提高

    **JSP内置对象的学习与提高** 在Web开发领域,JavaServer Pages(JSP)是一种流行的动态网页技术,它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。JSP内置对象是JSP核心特性之一,它们提供了一...

    Web技术及应用实验3JSP内置对象.pdf

    【JSP内置对象详解】 JSP(JavaServer Pages)是一种基于Java的技术,用于创建动态网页。在JSP中,有九个内置对象,它们是直接由JSP引擎提供的,无需显式声明即可在JSP页面中使用。这些内置对象极大地简化了开发...

    JSP应用开发技术---JSP入门教材

    #### 四、JSP内置对象 - **内置对象**:JSP提供了多个内置对象,如request、response、session、application等,它们简化了开发者的工作,无需手动创建即可直接使用。 - **request对象**:用来获取客户端发送的...

    北大青鸟-JSP教程

    3. **第三章:JSP内置对象** - 学习者将了解到JSP的九大内置对象,如request、response、session、application等,以及它们在处理用户请求和响应时的角色。 4. **第四章:JSP表达式和脚本元素** - 这一章涵盖了JSP...

    JSP基础练习 ppt

    3. **第三章:JSP内置对象** - request、response、session、application等对象的用途和使用方法,它们是JSP处理HTTP请求的核心工具。 4. **第四章:JSP标签库** - JSP标准标签库(JSTL)介绍,如fmt、fn、c等...

    从零开始-JSP动态网页制作基础培训教程

    **五、JSP内置对象** JSP提供了一系列内置对象,可以直接在页面上使用,无需显式创建: 1. `request`:代表HTTP请求,用于获取请求参数。 2. `response`:代表HTTP响应,用于设置响应头和输出内容。 3. `session`:...

    软件工程1611-JSP-实验四.zip

    通过这次实验,学生不仅能巩固JSP的基础知识,还能提高实际项目开发中的问题解决能力,为后续更复杂的Web应用开发打下坚实基础。同时,理解JSP与软件工程的结合,有助于培养良好的软件开发规范和团队协作意识。

    软件工程1611-JSP-实验二.zip

    2. **JSP内置对象**:如request、response、session、application等,以及它们在处理HTTP请求和响应中的作用。 3. **JSP指令**:page、include、taglib等,用于配置页面属性、导入其他文件或注册自定义标签库。 4. *...

    毕业答辩-jsp学生管理系统-毕业设计.zip

    - JSP基础:包括JSP语法、内置对象(如request、response、session等)、EL表达式和JSTL标签库。 - Servlet:作为JSP的补充,可能在后台处理业务逻辑和转发请求。 - 数据库管理:如MySQL或Oracle,用于存储学生信息...

    网站制作教程-静态布局-jsp-asp

    ASP的主要组件包括ASP页面、服务器对象、内置对象(如Request、Response、Session等)和控件。通过ASP,开发者能够处理用户输入、生成动态内容、管理用户会话等。与JSP类似,ASP也常常与ASP.NET MVC框架结合使用,以...

    JSP入门知识

    - JSP内置对象:掌握Request、Response、Session等对象的使用。 - JSP访问数据库:学习如何通过JDBC与数据库进行交互。 - JavaBean的应用:了解JavaBean的创建和在JSP中的作用。 - Servlet:理解Servlet的工作...

    blogs-jsp实例

    3. **JSP内置对象**:如request、response、session、application、pageContext等,它们提供了处理HTTP请求和响应的能力。 4. **MVC设计模式**:JSP如何与Servlet、JavaBeans(Javabean)协同工作,实现数据处理和...

    从零开始-JSP动态网页制作基础培训教程 源码

    2. **内置对象**:JSP提供了八大内置对象,包括request、response、session、application、pageContext、out、exception和page。理解这些对象的功能和用法是学习JSP的关键,它们可以帮助开发者处理HTTP请求、响应,...

    jsp应用开发详解源码18-19学习jsp的可以看看

    - JSP内置对象:如request、response、session、application等,以及它们在处理用户请求和响应时的作用。 19章可能涉及: - JSP表达式语言(EL):一种简洁的语法,用于在页面上获取和显示数据,减轻了JSP页面中的...

    南京信息工程大学-JSP-上机实验与作业.zip

    3. **JSP内置对象**:JSP提供了九个内置对象,如request、response、session、application等,这些都是处理HTTP请求和响应的关键。实验可能要求学生使用这些对象进行数据传递和会话管理。 4. **Servlet与JSP交互**...

    accp5.0-y2-jsp/servlet/javabean-指导学习1

    这包括使用JSP指令、脚本元素、内置对象以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)等工具。 Servlet是Java Web应用中的服务器端组件,用于接收HTTP请求并生成响应。学员会学习...

    jsp基础入门

    《JSP入门实例教程4-jsp内置对象及作用域》深入探讨了JSP的内置对象,如request、response、session、application等,这些对象为开发者提供了与用户交互、管理会话和共享数据的能力。同时,教程还解释了四个不同的...

    使用Jsp技术构建电子商务应用系统-从入门到提高

    3. **JSP内置对象**: - JSP提供了九个内置对象,包括request、response、session、application、pageContext、out、config、exception和page。这些对象对应于Servlet API中的类,简化了开发过程。 4. **JSP表达式...

Global site tag (gtag.js) - Google Analytics