天天看点

JSP 九大内置对象

① out - javax.servlet.jsp.jspwriter

   out对象用于把结果输出到网页上。

方法:

1. void clear() ;

   清除输出缓冲区的内容,但是不输出到客户端。

2. void clearbuffer() ;

   清除输出缓冲区的内容,并输出到客户端。

3. void close() ;

   关闭输出流,清除所有内容。

4. void flush() ;

   输出缓冲区里面的数据。

5. int getbuffersize() ;

   获取以kb为单位的目前缓冲区大小。

6. int getremaining() ;

   获取以kb为单位的缓冲区中未被占用的空间大小。

7. boolean isautoflush() ;

   是否自动刷新缓冲区。

8. void newline() ;

   输出一个换行字符。

9. void print( boolean b ) ;

   void print( char c ) ;

   void print( char[] s ) ;

   void print( double d ) ;

   void print( float f ) ;

   void print( int i ) ;

   void print( long l ) ;

   void print( object obj ) ;

   void print( string s ) ;

   将指定类型的数据输出到http流,不换行。

10. void println( boolean b ) ;

    void println( char c ) ;

    void println( char[] s ) ;

    void println( double d ) ;

    void println( float f ) ;

    void println( int i ) ;

    void println( long l ) ;

    void println( object obj ) ;

    void println( string s ) ;

    将指定类型的数据输出到http流,并输出一个换行符。

11. appendable append( char c ) ;

    appendable append( charsequence cxq, int start, int end ) ;

    appendable append( charsequence cxq ) ;

    将一个字符或者实现了charsequence接口的对象添加到输出流的后面。

成员:

int default_buffer = 0    - 缺省缓冲区大小

int no_buffer = -1        - writer是否处于缓冲输出状态

int unbounded_buffer = -2 - 是否限制缓冲区大小

② request - javax.servlet.http.httpservletrequest

   request对象包含所有请求的信息,如请求的来源、标头、cookies和请求相关的参数值等。

1. object getattribute( string name ) ;

   返回由name指定的属性值,该属性不存在时返回null。

2. enumeration getattributenames() ;

   返回request对象的所有属性名称的集合。

3. string getauthtype() ;

   返回用来保护servlet的认证方法的名称,未受保护时返回null。

4. string getcharacterencoding() ;

   返回请求中的字符编码方法,可以在response对象中设置。

5. int getcontentlength() ;

   返回请求的body的长度,不能确定长度时返回-1。可以在response中设置。

6. string getcontenttype() ;

   返回在response中定义的内容类型。

7. string getcontentpath() ;

   返回请求的路径。

8. cookie[] getcookies() ;

   返回客户端所有的cookie的数组。

9. enumeration getheadernames() ;

   返回所有http头的名称的集合。

10. enumeration getheaders( string name ) ;

    返回指定http头的所有值的集合。

11. string getheader( string name ) ;

    返回指定名称的http头的信息。

12. long getdateheader( string name ) ;

    返回指定名称的data类型的http头的信息。

13. int getintheader( string name ) ;

    返回指定名称的int类型的http头的信息。

14. servletinputstream getinputstream() ;

    返回请求的输入流。

15. locale getlocale() ;

    返回当前页的locale对象,可以在response中设定。

16. enumeration getlocales() ;

    返回请求中所有的locale对象的集合。

17. string getlocalname() ;

    获取响应请求的服务器端主机名。

18. string getlocaladdr() ;

    获取响应请求的服务器端地址。

19. int getlocalport() ;

    获取响应请求的服务器端端口

20. string getmethod() ;

    获取客户端向服务器端发送请求的方法(get、post)。

21. string getparameter( string name ) ;

    获取客户端发送给服务器端的参数值。

22. map getparametermap() ;

    该方法返回包含请求中所有参数的一个map对象。

23. enumeration getparameternames() ;

    返回请求中所有参数的集合。

24. string[] getparametervalues( string name ) ;

    获得请求中指定参数的所有值。

25. string getquerystring() ;

    返回get方法传递的参数字符串,该方法不分解出单独的参数。

26. string getpathinfo() ;

    取出请求中处于servletpath和querystring之间的额外信息。

27. string getpathtranslated() ;

    返回用getpathinfo()方法取得的路径信息的实际路径。

28. string getprotocol() ;

    返回请求使用的协议。可以是http1.1或者http1.0。

29. bufferedreader getreader() ;

    返回请求的输入流对应的reader对象,该方法和getinputstream()方法在一个页面中只能调用一个。

30. string getremoteaddr() ;

    获取发出请求的客户端ip地址。

31. string getremotehost() ;

    获取发出请求的客户端主机名

32. string getremoteuser() ;

    返回经过客户端验证的用户名,未经验证返回null。

33. int getremoteport() ;

    返回发出请求的客户端主机端口。

34. string getrealpath( string path ) ;

    返回给定虚拟路径的物理路径。

35. requestdispatcher getrequestdispatcher( string path ) ;

    按给定的路径生成资源转向处理适配器对象。

36. string getrequestedsessionid() ;

    返回请求的session的标识。

37. string requesturi() ;

    返回发出请求的客户端地址,但是不包括请求的参数字符串。

38. stringbuffer getrequesturi() ;

    返回响应请求的服务器端地址

39. string getscheme() ;

    获取协议名称,缺省值为http协议。

40. string getservername() ;

    返回响应请求的服务器名称。

41. string getservletpath() ;

    获取客户端所请求的脚本文件的文件路径。

42. int getserverport() ;

    获取响应请求的服务器端主机端口号。

43. void removeattribute( string name ) ;

    在属性列表中删除指定名称的属性。

44. void setattribute( string name, object value ) ;

    在属性列表中添加/删除指定的属性。

45. void setcharacterencoding( string name ) ;

    设置请求的字符编码格式。

46. httpsession getsession() ;

    httpsession getsession( boolean create ) ;

    获取session,如果create为true,在无session的情况下创建一个。

47. boolean isrequestedsessionidfromcookie() ;

    检查请求的会话id是否为通过cookie传入。

48. boolean isrequestedsessionidfromurl() ;

    检查请求的会话id是否为通过url传入。

49. boolean isrequestedsessionidvalid() ;

    检查请求的会话id是否仍然有效。

50. boolean issecure() ;

    检查请求是否使用安全链接,如果https等。

51. boolean isuserinrole( string role ) ;

    检查已经通过验证的用户是否在是role所指定的角色。

52. principal getuserprincipal() ;

    返回包含用户登陆名的一个java.security.principal对象。

string basic_auth = "basic"             - 

string client_cert_auth = "client_cert" - 

string digest_auth = "digest"           - 

string form_auth = "form"               -

③ response - javax.servlet.http.httpservletresponse

   response对象主要将jsp容器处理后的结果传回到客户端。

1. void addcookie( cookie cookie ) ;

   添加一个cookie对象,保存客户端信息。

2. void adddateheader( string name, long value ) ;

   添加一个日期类型的http头信息,覆盖同名的http头信息。

3. void addheader( string name, string value ) ;

   添加一个http头,覆盖同名的旧http头。

4. void addintheader( string name, int value ) ;

   添加一个整型的http头,覆盖同名的旧http头。

5. boolean containsheader( string name ) ;

   判断指定的http头是否存在。

6. string encoderedirecturl( string url ) ;

   对sendredirect()方法使用的url进行编码。

7. string encodeurl( string url ) ;

   将url予以编码,回传包含session id的url。

8. void flushbuffer() ;

   强制把当前缓冲区的内容发送到客户端。

9. int getbuffersize() ;

   取得以kb为单位的缓冲区大小。

10. string getcharacterencoding() ;

    获取响应的字符编码格式。

11. string getcontenttype() ;

    获取响应的类型。

12. locale getlocale() ;

    获取响应的locale对象。

13. servletoutputstream getoutputstream() ;

    返回客户端的输出流对象。

14. printwriter getwriter() ;

    获取输出流对应的writer对象。

15. boolean iscommitted() ;

    判断服务器端是否已经将数据输出到客户端。

16. void reset() ;

    清空buffer中的所有内容。

17. void resetbuffer() ;

    情况buffer中所有的内容,但是保留http头和状态信息。

18. void senderror( int xc, string msg ) ;

    void senderror( int xc ) ;

    发送错误,包括状态码和错误信息。

19. void sendredirect( string locationg ) ;

    把响应发送到另外一个位置进行处理。

20. void setbuffersize( int size ) ;

    设置以kb为单位的缓冲区大小。

21. void setcharacterencoding( string charset ) ;

    设置响应使用的字符编码格式。

22. void setcontentlength( int length ) ;

    设置响应的body长度。

23. void setcontenttype( string type ) ;

    设置响应的类型。

24. void setdateheader( string name, long value ) ;

    设置指定名称的data类型的http头的值。

25. void setheader( string name, string value ) ;

    设置指定名称的http头的值。

26. void setintheader( string name, int value ) ;

    设置指定名称的int类型的http头的值。

27. void setstatus( int xc ) ;

    设置响应状态码,新值会覆盖当前值。

成员(http状态码):

int sc_continue = 100                      int sc_switching_protocols = 101

int sc_ok = 200                            int sc_non_authoritative_information = 203

int sc_accepted = 202                      int sc_created = 201

int sc_no_content = 204                    int sc_reset_content = 205

int sc_partial_content = 206               int sc_multiple_choices = 300

int sc_moved_permanently = 301             int sc_moved_temporarily = 302

int sc_found = 302                         int sc_see_other = 303

int sc_not_modified = 304                  int sc_use_proxy = 305

int sc_temporary_redirect = 307            int sc_bad_request = 400

int sc_unauthorized = 401                  int sc_payment_required = 402

int sc_forbidden = 403                     int sc_not_found = 404

int sc_method_not_allowed = 405            int sc_not_acceptable = 406

int sc_proxy_authentication_required = 407 int sc_request_timeout = 408

int sc_conflict = 409                      int sc_gone = 410

int sc_length_required = 411               int sc_precondition_failed = 412

int sc_request_entity_too_large = 413      int sc_request_uri_too_long = 414

int sc_unsupported_media_type = 415        int sc_requested_range_not_satisfiable = 416

int sc_expectation_failed = 417            int sc_internal_server_error = 500

int sc_not_implemented = 501               int sc_bad_gateway = 502

int sc_service_unavailable = 503           int sc_gateway_timeout = 504

int sc_http_version_not_supported = 505

④ session - javax.servlet.http.httpsession

   session对象表示目前个别用户的会话状态,用来识别每个用户。

   获取与指定名字相关联的session属性值。

   取得session内所有属性的集合。

3. long getcreationtime() ;

   返回session的创建时间,最小单位千分之一秒。

4. string getid() ;

   取得session标识。

5. long getlastaccessedtime() ;

   返回与当前session相关的客户端最后一次访问的时间,由1970-01-01算起,单位毫秒。

6. int getmaxinactiveinterval( int interval ) ;

   返回总时间,以秒为单位,表示session的有效时间(session不活动时间)。-1为永不过期。

7. servletcontext getservletcontext() ;

   返回一个该jsp页面对应的servletcontext对象实例。

8. httpsessioncontext getsessioncontext() ;

9. object getvalue( string name ) ;

   取得指定名称的session变量值,不推荐使用。

10. string[] getvaluenames() ;

    取得所有session变量的名称的集合,不推荐使用。

11. void invalidate() ;

    销毁这个session对象。

12. boolean isnew() ;

    判断一个session是否由服务器产生,但是客户端并没有使用。

13. void pubvalue( string name, object value ) ;

    添加一个session变量,不推荐使用。

14. void removevalue( string name ) ;

    移除一个session变量的值,不推荐使用。

15. void setattribute( string name, string value ) ;

    设置指定名称的session属性值。

16. void setmaxinactiveinterval( int interval ) ;

    设置session的有效期。

17. void removeattribute( string name ) ;

    移除指定名称的session属性。

⑤ pagecontext - javax.servlet.jsp.pagecontext

   pagecontext对象存储本jsp页面相关信息,如属性、内建对象等。

1. void setattribute( string name, object value, int scope ) ;

   void setattribute( string name, object value ) ;

   在指定的共享范围内设置属性。

2. object getattribute( string name, int scope ) ;

   object getattribute( string name ) ;

   取得指定共享范围内以name为名字的属性值。

3. object findattribute( string name ) ;

   按页面、请求、会话和应用程序共享范围搜索已命名的属性。

4. void removeattribute( string name, int scope ) ;

   void removeattribute( string name ) ;

   移除指定名称和共享范围的属性。

5. void forward( string url ) ;

   将页面导航到指定的url。

6. enumeration getattributenamesscope( int scope ) ;

   取得指定共享范围内的所有属性名称的集合。

7. int getattributescope( string name ) ;

   取得指定属性的共享范围。

8. errordata geterrordate() ;

   取得页面的errordata对象。

9. exception getexception() ;

   取得页面的exception对象。

10. expressionevaluator getexpressionevaluator() ;

    取得页面的expressionevaluator对象。

11. jspwriter getout() ;

    取得页面的out对象。

12. object getpage() ;

    取得页面的page对象。

13. servletrequest getrequest() ;

    取得页面的request对象。

14. servletresponse getresponse() ;

    取得页面的response对象。

15. servletconfig getconfig() ;

    取得页面的config对象。

16. servletcontext getservletcontext() ;

    取得页面的servletcontext对象。

17. httpsession getsession() ;

    取得页面的session对象。

18. variableresolver getvariableresolver() ;

    取得页面的variableresolver对象。

19. void include( string url, boolean flush ) ;

    void include( string url ) ;

    包含其他的资源,并指定是否自动刷新。

20. void release() ;

    重置pagecontext内部状态,释放所有内部引用。

21. void initialize( servlet servlet, servletrequest request, servletresponse response,

                     string errorpageurl, boolean needsession, int buffersize, boolean autoflush ) ;

    初始化未经初始化的pagecontext对象。

22. bodycontext pushbody() ;

    bodycontext pushbody( writer writer ) ;

    保存当前的out对象,并更新pagecontext中page范围内的out对象。

23. jspwrite popbody() ;

    取出由pushbody()方法保存的out对象。

24. void handlepageexception( exception e ) ;

    void handlepageexception( thrwoable t ) ;

int page_scope = 1        - 页面共享范围

int request_scope = 2     - 请求共享范围

int session_scope = 3     - 会话共享范围

int application_scope = 4 - 应用程序共享范围

string page = "javax.servlet.jsp.jsppage"

string pagecontext = "javax.servlet.jsp.jsppagecontext"

string request = "javax.servlet.jsp.jsprequest"

string response = "javax.servlet.jsp.jspresponse"

string config = "javax.servlet.jsp.jspconfig"

string session = "javax.servlet.jsp.jspsession"

string out = "javax.servlet.jsp.jspout"

string application = "javax.servlet.jsp.jspapplication"

string exception = "javax.servlet.jsp.jspexception"

⑥ application - javax.servlet.servletcontext

   application主要功用在于取得或更改servlet的设定。

   返回由name指定的application属性。

2. enumeration getattributes() ;

   返回所有的application属性。

3. servletcontext getcontext( string uripath ) ;

   取得当前应用的servletcontext对象。

4. string getinitparameter( string name ) ;

   返回由name指定的application属性的初始值。

5. enumeration getinitparameters() ;

   返回所有的application属性的初始值的集合。

6. int getmajorversion() ;

   返回servlet容器支持的servlet api的版本号。

7. string getmimetype( string file ) ;

   返回指定文件的类型,未知类型返回null。一般为"text/html"和"image/gif"。

8. int getminorversion() ;

   返回servlet容器支持的servlet api的副版本号。

9. string getrealpath( string path ) ;

   返回给定虚拟路径所对应物理路径。

10. requestdispatcher getnameddispatcher( string name ) ;

    为指定名字的servlet对象返回一个requestdispatcher对象的实例。

11. requestdispatcher getrequestdispatcher( string path ) ;

    返回一个requestdispatcher对象的实例。

12. url getresource( string path ) ;

    返回指定的资源路径对应的一个url对象实例,参数要以"/"开头。

13. inputstream getresourceasstream( string path ) ;

    返回一个由path指定位置的资源的inputstream对象实例。

14. set getresourcepaths( string path ) ;

    返回存储在web-app中所有资源路径的集合。

15. string getserverinfo() ;

    取得应用服务器版本信息。

16. servlet getservlet( string name ) ;

    在servletcontext中检索指定名称的servlet。

17. enumeration getservlets() ;

    返回servletcontext中所有servlet的集合。

18. string getservletcontextname() ;

    返回本web应用的名称。

19. enumeration getservletcontextnames() ;

    返回servletcontext中所有servlet的名称集合。

20. void log( exception ex, string msg ) ;

    void log( string msg, throwable t ) ;

    void log( string msg ) ;

    把指定的信息写入servlet log文件。

21. void removeattribute( string name ) ;

    移除指定名称的application属性。

22. void setattribute( string name, object value ) ;

    设定指定的application属性的值。

⑦ config - javax.servlet.servletconfig

   config对象用来存放servlet初始的数据结构。

1. string getinitparameter( string name ) ;

   返回名称为name的促使参数的值。

2. enumeration getinitparameters() ;

   返回这个jsp所有的促使参数的名称集合。

3. servletcontext getcontext() ;

   返回执行者的servlet上下文。

4. string getservletname() ;

   返回servlet的名称。

⑧ exception - java.lang.throwable

   错误对象,只有在jsp页面的page指令中指定iserrorpage="true"后,才可以在本页面使用exception对象。

1. throwable fillinstacktrace() ;

   将当前stack信息记录到exception对象中。

2. string getlocalizedmessage() ;

   取得本地语系的错误提示信息。

3. string getmessage()

   取得错误提示信息。

4. stacktrackelement[] getstacktrace() ;

   返回对象中记录的call stack track信息。

5. throwable initcause( throwable cause ) ;

   将另外一个异常对象嵌套进当前异常对象中。

6. throwable getcause() ;

   取出嵌套在当前异常对象中的异常。

7. void printstacktrace() ;

   void printstacktrace( printstream s ) ;

   void printstacktrace( printwriter s ) ;

   打印出throwable及其call stack trace信息。

8. void setstacktrace( stacktraceelement[] stacktrace )

   设置对象的call stack trace信息。

⑨ page - javax.servlet.jsp.httpjsppage

   page对象代表jsp对象本身,或者说代表编译后的servlet对象,

   可以用( (javax.servlet.jsp.httpjsppage)page )来取用它的方法和属性。