程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP基本語法

JSP基本語法

編輯:關於JSP

      一,JSP元素

      1,腳本元素,包括表達式、程序碼片段(包括內置類)、聲明(成員變量和方法)、注釋(輸出和隱藏)

      2,指令元素,包括page(language,extends,import,session,buffer,autoFlush,isThreadSafe,info,errorPage,isErrorPage,contentType)、include(file)和taglib(uri,prefix)。

      3,動作元素,系統元素:

      jsp:include page=? flush="true"(jsp1.1必須是這個) 可以夾帶jsp:param來添加request

      jsp:forward page=? 可以夾帶jsp:param來添加request

      jsp:param name=? value=?

      jsp:plugin

      type="bean|applet"

      code="classfileName"

      codebase="classfilePathUrl"

      align=?height=? name=? width=?hspace="與環繞文本之間的水平空白空間的大小" vspace=?

      archive="標識包含對象的Java類的.jar文件的URL"

      jrevision="標識組件需要的運行時環境JRE版本,默認1.1"

      title="ie使用的對象標題"

      nspluginurl="可以為Netscape下載JRE插件的URL"

      iepluginurl="可以為IE下載JRE插件的URL"

      jsp:params由jsp:plugin封裝一個jsp:action列表 如jsp:param放在中間

      jsp:fallback 加載jsp:plugin失敗時用來提供一個替代的html響應,如一段文本

      jsp:useBean

      id="實例名"

      scope="page|request|session|application"

      class="類名,若無type則須有class,若有beanName則須無class"

      beanName="a.b.c|a/b/c.cer,與class不兩立"

      type="有同接口的類名,或類實現的接口名(只能使用接口中的方法)"

      jsp:setProperty name="bean實例id" property="bean須有setPropertyName()的方法" [param=?] value=?若不指定value則從request中取與property名字相同或param名字相同的變量,若值為""不執行

      jsp:getProperty name="bean id" property="bean屬性,須有getPropertyName()方法" 該動作元素直接輸出

      4,空白字符:空格(0x20),Tab(0x09),回車(0x0d0a),jsp頁面中的這些符號都會被out.println

      5,轉義字符 %>,,%>,',"都應當用轉義

      二,隱藏對象

      1,request javax.servlet.HttpServletRequest類型,

      String getParameter(String parameterName);

      java.util.Enumeration getParamerterNames();

      String[] getParameterValues();

      Object getAttribute(String name);

      java.util.Enumeration getAttributeNames();

      void removeAttribute(String attributeName);

      void setAttribute(String name, Object object);

      javax.servlet.http.Cookie[] getCookies();

      java.util.Enumeration getHeaderNames();//消息頭

      java.util.Enumeration getHeaders(String headerName);

      String getHeader(String headerName);

      int getIntHeader(String headerName);

      long getDateHeader(String headerName);

      String getMethod();//請求方法

      String getRequestURI;//協議名和查詢字符串之間,無主機名

      String getContextPath();//請求的文件所在的應用程序環境

      String getServletPath();//以contextPath為根,指定小程序或jsp所在的位置

      String PathInfo();//額外的路徑信息

      String getQueryString();

      boolean isSecure();//是否用了HTTPS

      boolean isRequestedSessionIdFromCookie();

      boolean isRequestedSessionIdFromURL();

      boolean isRequestedSessionIdValid();//請求會話的ID是否有效

      java.util.Locale getLocale();//客戶同意內容所采取的Locale,取決於AcceptLanguge

      java.util.Enumeration getLocales();

      2,response javax.servlet.http.HttpServletResponse

      int getBufferSize();

      void setBufferSize(int size);//

      boolean isCommitted();//寫入狀態碼和報頭後,響應是否已提交

      void reset();//清除緩存內的所有數據包括狀態碼和報頭

      void flushBuffer();//強制緩存中的任何內容寫入客戶

      void addHeader(String name,String value);

      void setHeader(String name, String value);

      void addDateHeader(String name, long date);

      void setDateHeader(String name, long date);

      void addIntHeader(String name, int value);

      void setIntHeader(String name, int value);

      boolean containsHeader(String name);

      void setContentType(String type);

      void setLocale(java.uti.Locale, locale);

      void sendError(int sc, String msg);

      void sendError(int sc);//狀態碼和描述性信息項客戶發送錯誤響應

      void sendRedirect(String location);

      3,pageContext javax.servlet.jsp.PageContext(由具體開發商完成具體化)

      /*int scope:

      pageContext.PAGE_SCOPE

      pageContext.REQUEST_SCOPE

      pageContext.SESSION_SCOPE

      pageContext.APPLICATION_SCOPE

      */

      Object getAttribute(String name);//pageScope變量

      Object getAttribute(String name, int scope);

      Object findAttribute(String name);

      java.util.Enumeration getAttributeNamesInScope(int scope);

      int getAttributeScope(String name);

      void removeAttribute(String name);

      void removeAttribute(String name, int scope);

      void setAttribute(String name, Object object);

      void setAttribute(String name, Object object, int scope);

      javax.servlet.jsp.JspWriter getOut();//out

      Exception getException();//exception

      javax.servlet.ServletRequest getRequest();//request

      javax.servlet.ServletResponse getResponse();//response

      javax.servlet.http.HttpSession getSession();//session

      javax.servlet.ServletConfig getServletConfig();//config

      javax.servlet.ServletContext getServletContext();//application

      javax.servlet.jsp.JspWriter popBody();

      javax.servlet.jsp.tagext.BodyContent pushBody();//管理taglib內部的嵌套輸出流

      void forward(String relativeUrlPath);

      void include(String relativeUrlPath);

      void handleException(java.lang.Exception e);

      4,session javax.servlet.http.HttpSession

      //安裝cookie

      //URL重寫

      //SSL會話

      Object getAttribute(String attributeName);

      java.util.Enumeration getAttributeNames();

      void setAttribute(String name, Object value);

      void removeAttribute(String name);

      long getLastAccessedTime();//最後一次發送本次session相關數據的時間

      /*關於long型時間:指從1970-1-1 00:00:00 開始的毫秒數*/

      void setMaxInactiveInterval(int interval);//秒為單位

      int getMaxInactiveInterval();

      void invalidate();//使會話無效

      5,out javax.servlet.jsp.JspWriter

      //錯誤是會引發java.io.IOException

      void clear();//清除緩沖區,response.reset()?

      void clearBuffer();//清除緩沖區當前內容

      void flush();//

      void close();//先刷新再關閉

      int getBufferSize();

      int getRemaining();//還沒有使用的緩沖區

      boolean isAutoFlush();//page autoFlush屬性

      void print(Object object);

      void println(Object object);

      6,application javax.servlet.ServletContext

      String getInitParameter(String name);

      java.util.Enumeration getInitParameterNames();

      Object getAttribute(String name);

      void setAttibute(String name, Object object);

      java.util.Enumeration getAttributeNames();

      void removeAttribute(String name);

      //修改的時候,isThreadSafe最好設成false,而且用synchronized()

      java.net.URL getResource(String path);

      //URL::getPath()跟application.getRealPath()一樣

      java.io.InputStream getResourceAsStream(String path);//同URL::openStream();

      //RequestDispatcher:工作在服務器笑程序之間的服務

      javax.servlet.RequestDispatcher getNamedDispatcher(String name);//name 為servlet的名稱

      javax.servlet.RequestDispatcher getRequestDispatcher(String path);//path 為servlet的路徑

      void log(String message);

      void log(String message, Throwable throwable);//將一個消息和棧跟蹤記錄到小程序日志文件中

      String getMimeType(String file);

      String getRealPath(String virtualPath);//URL::getPath

      String getServerInfo();

      int getMajorVertion();

      int getMinerVertion();

      7,config javax.servlet.ServletConfig

      String getInitParameter(String name);

      java.util.Enumeration getInitParameterNames();

      String getServletName();

      ServletContext getServletContext();

      8,page javax.servlet.jsp.HttpJspPage

      //通常不是JSP頁面的創作者使用

      javax.servlet.ServletConfig getServletConfig();

      String getServeletInfo();

      9,exception java.lang.Exception

      String getLocalizedMessage();

      String getMessage();

      void printStackTrace();

      void printStackTrace(java.io.PrintStream ps);

      void printStackTrace(java.io.PrintWriter pw);

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved