【定番】JSP内蔵オブジェクト


1.requestオブジェクト
クライアントのリクエスト情報はrequestオブジェクトにカプセル化され、クライアントのニーズを理解し、応答することができます.HttpServiceletRequestクラスのインスタンスです.
シーケンス番号メソッドの説明
1   object getAttribute(String name)            
2   Enumeration getAttributeNames()              
3   String getCharacterEncoding()          
4   int getContentLength()         (    ) 
5   String getContentType()       MIME   
6   ServletInputStream getInputStream()               
7   String getParameter(String name)   name         
8   Enumeration getParameterNames()            
9   String[] getParameterValues(String name)       name        
10   String getProtocol()                
11   String getScheme()          , :http.https ftp  
12   String getServerName()               
13   int getServerPort()                  
14   BufferedReader getReader()            
15   String getRemoteAddr()            IP   
16   String getRemoteHost()                
17   void setAttribute(String key,Object obj)          
18   String getRealPath(String path)              
 
   
     
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<html>
<head>
<title>request  _ 1</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
   <input type="text" name="qwe">
   <input type="submit" value="  ">
</form>
    :<%=request.getMethod()%><br>
     :<%=request.getRequestURI()%><br>
      :<%=request.getProtocol()%><br>
      :<%=request.getServletPath()%><br>
       IP:<%=request.getServerName()%><br>
        :<%=request.getServerPort()%><br>
   IP  :<%=request.getRemoteAddr()%><br>
      :<%=request.getRemoteHost()%><br>
       :<%=request.getParameter("qwe")%><br>
</body>
</html> 
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<%@ page import="java.util.Enumeration"%>
<html>
<head>
   <title>request  _ 2</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
       :<input type="text" name="username">&nbsp;&nbsp;
       :<input type="text" name="userpass">&nbsp;&nbsp;
    <input type="submit" value="  " >
</form>
<%
String str="";
if(request.getParameter("username")!=null && request.getParameter("userpass")!=null){
    Enumeration enumt = request.getParameterNames();
    while(enumt.hasMoreElements()){
       str=enumt.nextElement().toString();
       out.println(str+":"+request.getParameter(str)+"<br>");
    }
}
%>
</body>
</html> 
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<html>
<head>
    <title>request  _ 3</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
     :<input type="checkbox" name="cb" value="ON1">VC++&nbsp;
        <input type="checkbox" name="cb" value="ON2">JAVA&nbsp;
        <input type="checkbox" name="cb" value="ON3">DELPHI&nbsp;
        <input type="checkbox" name="cb" value="ON4">VB&nbsp;
        <br>
        <input type="submit" value="  " name="qwe">
</form>
<%
if(request.getParameter("qwe")!=null ){
    for(int i=0;i<request.getParameterValues("cb").length;i++){
       out.println("cb"+i+":"+request.getParameterValues("cb")[i]+"<br>");
    }
    out.println(request.getParameter("qwe"));
}
%>
</body>
</html>

 
 
2.responseオブジェクト
responseオブジェクトには、お客様のリクエストに応答する情報が含まれていますが、JSPでは直接使用されることはめったにありません.HttpServiceletResponseクラスのインスタンスです.
シーケンス番号メソッドの説明
1   String getCharacterEncoding()               
2   ServletOutputStream getOutputStream()               
3   PrintWriter getWriter()                   
4   void setContentLength(int len)         
5   void setContentType(String type)      MIME   
6   sendRedirect(java.lang.String location)            
 
      
3.セッションオブジェクト
セッションオブジェクトとは、クライアントとサーバが接続解除されるまで、クライアントがサーバに接続されたWebApplicationから開始するクライアントとサーバのセッションを指します.HttpSessionクラスの例です.
シーケンス番号メソッドの説明
1   long getCreationTime()   SESSION     
2   public String getId()   SESSION   JSP        ID  
3   long getLastAccessedTime()    SESSION             
4   int getMaxInactiveInterval()              SESSION   (ms) 
5   String[] getValueNames()        SESSION           
6   void invalidate()   SESSION, SESSION    
7   boolean isNew()           SESSION,          
8   void removeValue(String name)   SESSION       
9   void setMaxInactiveInterval()              SESSION   (ms)

   
      
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*" %>
<html>
<head><title>session  _ 1</title><head>
<body><br>
    session     :<%=session.getCreationTime()%>&nbsp;&nbsp;<%=new Date(session.getCreationTime())%><br><br>
    session Id :<%=session.getId()%><br><br>
               :<%=session.getLastAccessedTime()%>&nbsp;&nbsp;<%=new java.sql. Time(session.getLastAccessedTime())%><br><br>
               SESSION   (ms):<%=session.getMaxInactiveInterval()%><br><br>
             SESSION:<%=session.isNew()?" ":" "%><br><br>
<%
   session.putValue("name","    ");
   session.putValue("nmber","147369");
%>
<%
   for(int i=0;i<session.getValueNames().length;i++)
   out.println(session.getValueNames()[i]+"="+session.getValue(session.getValueNames()[i]));
%>
<!--           (GMT)1970 01 01 0:00:00          -->
</body>
</html> 

 
 
 
4.outオブジェクト
outオブジェクトはJspWriterクラスのインスタンスであり,クライアントにコンテンツを出力するのによく用いられるオブジェクトである.
シーケンス番号メソッドの説明
1   void clear()          
2   void clearBuffer()            
3   void flush()     
4   int getBufferSize()             ,        0 
5   int getRemaining()              
6   boolean isAutoFlush()        ,            
7   void close()      

 
      
<%@page contentType="text/html;charset=gb2312"%>
<html><head><title>out  _ 1:    </title></head>
<%@page buffer="1kb"%>
<body>
<%
   for(int i=0;i<2000;i++)
   out.println(i+"{"+out.getRemaining()+"}");
%><br>
    :<%=out.getBufferSize()%><br>
      :<%=out.getRemaining()%><br>
    :<%=out.isAutoFlush()%><br>
<%--out.clearBuffer();--%>
<%--out.clear();--%>
<!--     :             ,        ,             .          ,                 : 
1. JSP           
2.        
3.JSP    out.flush() response.flushbuffer() 
-->
</body>
</html> 

 
 
 
5.pageオブジェクト
Pageオブジェクトは、現在のJSPページ自体を指し、クラスのthisポインタに似ています.javaです.lang.Objectクラスの例
シーケンス番号メソッドの説明
1   class getClass    Object   
2   int hashCode()    Object hash  
3   boolean equals(Object obj)    Object      Object     
4   void copy(Object obj)   Object      Object    
5   Object clone()    Object   
6   String toString()   Object     String     
7   void notify()           
8   void notifyAll()           
9   void wait(int timeout)            timeout       
10   void wait()                
11   void enterMonitor()  Object   
12   void exitMonitor()  Object   

      
6.アプリケーションオブジェクト
アプリケーションオブジェクトは,ユーザ間データの共有を実現し,グローバル変数を格納できる.サーバーがシャットダウンするまで、サーバーの起動から開始します.その間、このオブジェクトはずっと存在します.このように、ユーザの前後接続または異なるユーザ間の接続において、このオブジェクトの同じ属性を操作することができる.このオブジェクトのプロパティに対する操作は、他のユーザーのアクセスに影響します.サーバの起動と停止はアプリケーションオブジェクトの生命を決定します.サーブレットContextクラスのインスタンスです.
シーケンス番号メソッドの説明
1   Object getAttribute(String name)           
2   Enumeration getAttributeNames()              
3   void setAttribute(String name,Object obj)          
4   void removeAttribute(String name)            
5   String getServerInfo()   JSP(SERVLET)        
6   String getRealPath(String path)              
7   ServletContext getContext(String uripath)     WebApplication application   
8   int getMajorVersion()         Servlet API       
9   int getMinorVersion()         Servlet API       
10   String getMimeType(String file)        MIME   
11   URL getResource(String path)       (     ) URL   
12   InputStream getResourceAsStream(String path)            
13   RequestDispatcher getRequestDispatcher(String uripath)        RequestDispatcher   
14   Servlet getServlet(String name)       Servlet 
15   Enumeration getServlets()     Servlet    
16   Enumeration getServletNames()     Servlet     
17   void log(String msg)        Servlet      
18   void log(Exception exception,String msg)                 Servlet      
19   void log(String msg,Throwable throwable)         Throwable          Servlet      
  
       
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION  _ 1</title><head>
<body><br>
JSP(SERVLET)       :<%=application.getServerInfo()%><br><br>
  /application1.jsp         :<%=application.getRealPath("/application1.jsp")%><br><br>
      Servlet API     :<%=application.getMajorVersion()%><br><br>
      Servlet API     :<%=application.getMinorVersion()%><br><br>
    (     ) URL  :<%=application.getResource("/application1.jsp")%><br><br><!--   application1.jsp      -->
<br><br>
<%
   application.setAttribute("name","             ");
   out.println(application.getAttribute("name"));
   application.removeAttribute("name");
   out.println(application.getAttribute("name"));
%>
</body>
</html> 
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION  _ 2</title><head>
<body><br>
<!--  application         ,            -->
<%
if(application.getAttribute("count")==null)
application.setAttribute("count","1");
else
application.setAttribute("count",Integer.toString(Integer.valueOf(application.getAttribute("count").toString()).intValue()+1));
%>
   <%=application.getAttribute("count")%>    
</body>
<!--  getAttribute()        Object    , getString()     String  -->
<!-- Integer  valueOf()      String   Integer   ,  intValue()    int ,  1,         Integer.toString()     setAttribute()      String  -->
</html> 
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION  _ 3</title><head>
<body><br>
<!--  application         ,            -->
<%
String str=application.getAttribute("count").toString();//getAttribute("count")    Object  
int i=0;
if(str==null)
application.setAttribute("count","1");
else
i=Integer.parseInt(str); //out.println(i);
application.setAttribute("count",++i+"");
%>
   <%=application.getAttribute("count")%>    
</body>
</html>

 
7.exceptionオブジェクト
Exceptionオブジェクトは例外オブジェクトであり、ページが実行中に例外が発生すると、このオブジェクトが生成されます.JSPページでこのオブジェクトを適用する場合は、isErrorPageをtrueに設定する必要があります.そうしないとコンパイルできません.彼は実はjavaです.lang.Throwableのオブジェクト
シーケンス番号メソッドの説明
1   String getMessage()           
2   String toString()               
3   void printStackTrace()           
4   Throwable FillInStackTrace()            
  
      
8.pageContextオブジェクト
PageContextオブジェクトは、JSPページ内のすべてのオブジェクトおよび名前空間へのアクセスを提供します.つまり、このページが存在するSESSIONにアクセスしたり、このページが存在するアプリケーションの属性値を取得したりすることができます.彼はページ内のすべての機能の集大成者に相当し、その本クラス名もpageContextと呼ばれます.
シーケンス番号メソッドの説明
1   JspWriter getOut()              JspWriter (out) 
2   HttpSession getSession()        HttpSession  (session) 
3   Object getPage()       Object  (page) 
4   ServletRequest getRequest()       ServletRequest  (request) 
5   ServletResponse getResponse()       ServletResponse  (response) 
6   Exception getException()       Exception  (exception) 
7   ServletConfig getServletConfig()       ServletConfig  (config) 
8   ServletContext getServletContext()       ServletContext  (application) 
9   void setAttribute(String name,Object attribute)          
10   void setAttribute(String name,Object obj,int scope)                
11   public Object getAttribute(String name)       
12   Object getAttribute(String name,int scope)             
13   public Object findAttribute(String name)      ,       NULL 
14   void removeAttribute(String name)       
15   void removeAttribute(String name,int scope)            
16   int getAttributeScope(String name)            
17   Enumeration getAttributeNamesInScope(int scope)                 
18   void release()   pageContext       
19   void forward(String relativeUrlPath)              
20   void include(String relativeUrlPath)             
    

     
        
<%@page contentType="text/html;charset=gb2312"%>
<html><head><title>pageContext  _ 1</title></head>
<body><br>
<%
request.setAttribute("name","    ");
session.setAttribute("name","           ");
//session.putValue("name","     ");
application.setAttribute("name","  ");
%>
request    :<%=pageContext.getRequest().getAttribute("name")%><br>
session    :<%=pageContext.getSession().getAttribute("name")%><br>
application    :<%=pageContext.getServletContext().getAttribute("name")%><br>
  1   :<%=pageContext.getAttribute("name",1)%><br>
  2   :<%=pageContext.getAttribute("name",2)%><br>
  3   :<%=pageContext.getAttribute("name",3)%><br>
  4   :<%=pageContext.getAttribute("name",4)%><br>
<!--      page  ,   reques、session  application-->
<%pageContext.removeAttribute("name",3);%>
pageContext    session    :<%=session.getValue("name")%><br>
<%pageContext.setAttribute("name","      ",4);%>
pageContext    application    :<%=pageContext.getServletContext().getAttribute("name")%><br>
    :<%=pageContext.findAttribute("name")%><br>
  name   :<%=pageContext.getAttributesScope("name")%><br>
</body></html> 
 
 
9.configオブジェクト
configオブジェクトは、1つのサーブレットが初期化されたときに、サーブレットが初期化されたときに使用するパラメータ(属性名と属性値で構成されている)と、サーバに関する情報(サーブレットContextオブジェクトを渡すことによって)を含む情報をJSPエンジンから伝達するためのものです.
シーケンス番号メソッドの説明
1   ServletContext getServletContext()             ServletContext   
2   String getInitParameter(String name)           
3   Enumeration getInitParameterNames()   Servlet