第 3 章 JSP 隐含对象

download 第 3 章    JSP 隐含对象

If you can't read please download the document

description

第 3 章 JSP 隐含对象. 3.1 JSP 页面中的八个隐含对象. 在 JSP 页面中,经常要处理 request 请求、 response 响应等信息,为了简化程序设计, JSP 规范定义了常用的 8 个隐含对象 (implicit objects) ,这些隐含对象不需要在 JSP 页面中用 new 关键字来创建,而是由 Servlet 容器来创建与管理,并传递给 JSP 页面的 Servlet 实现类使用。这 8 个隐含对象及所依赖的类 / 接口如表 3-1 示。. 本章主要内容. 本章要点: out 隐含对象 HTTP 请求与 request 隐含对象 - PowerPoint PPT Presentation

Transcript of 第 3 章 JSP 隐含对象

  • 3 JSP

  • 3.1 JSPJSPrequestresponseJSP8(implicit objects)JSPnewServletJSPServlet8/3-1

  • outHTTPrequestHTTPresponsesessionsessionapplicationcookiesJSP

  • 3.1 JSP

  • 3.1 JSPJSPServlet_jspService()JSP

  • 3.1 JSP

  • 3.2 out3.2.1 1print()println()print()println()(intdouble)()

  • 3.2 outJSP

  • 3.2 outIE5123456HTML

    123456

  • 3.2 outJSP

  • 3.2 outIE5123 456HTML

    123456

  • 3.2 out123456println()IE5

  • 3.2 outIE

    HTML123 456

    123456

  • 3.2 out2newLine()newLine()

  • 3.2 outHTML

    123456

  • 3.2 out3.2.2 1flush( )flush()JavaI/Oout.write()flush()

  • 3.2 outprint()flush()IOException

    Tomcat: Internal error flushing the buffer in release()

  • 3.2 out2clear()clear()IOException3clearBuffer()clearBuffer()clear()clear()

  • 3.2 out4getBufferSize()getBufferSize()05getRemaining()getRemaining()

  • 3.2 out6isAutoFlush()isAutoFlush()

  • 3.2 out=8192 =7883 =true

  • 3.3 request3.3.1 requestURLURLURL(query string)http://localhost/exam.jsp?name=tomcatname=tomcat

  • 3.3 request1request requestgetParameter()getParameter()

    Stringrequestnull public java.lang.String getParameter(java.lang.String name)

  • 3.3 request3-1JSP1DW8JSPexam301.jsp

  • 3.3 request exam302.jspuserNamepassword

  • 3.3 requestDW8JSPexam302.jsp

  • 3.3 request(3)Tocmatexam301.jspexam302.jsprequestexam302.jspJavaUnicodeUTF-8GB2312

  • 3.3 requesttoChinese()exam302.jsp

  • 3.3 request

  • 3.3 requestexam302.jspURLIEURLhttp://127.0.0.1:8080/exam302.jsp?userName=tom&password=33

  • 3.3 requestrequest.getParameter()getParameterNames()request public java.util.Enumeration getParameterNames()

  • 3.3 request3-1getParameterNames()

  • 3.3 request

  • 3.3 requestexam301.jsp

    exam301.jspSubmitpassword=123 Submit= userName=tom

  • 3.3 request2request22-2hobbyrequest.getParameterValues()

  • 3.3 request

    public java.lang.String[] getParameterValues(java.lang.String name)

  • 3.3 request3-222-2exam303.jspexam303.jspDW8JSPexam303.jsp

  • 3.3 request

  • 3.3 request

  • 3.3 requestexam202.jspexam303.jsphobbyrequesthobbyURLname=valueURLhttp://127.0.0.1:8080/exam303.jsp?hobby=11&hobby=22& hobby=33& hobby=44

  • 3.3 request3.3.2 requestJSP/Servletrequestrequestrequest(attributes)name=valueJavaJava

  • 3.3 requestServletAServletBArequest.setAttribute()requestrequestBArequestBBrequest.getAttribute()request

  • 3.3 requestrequest.setAttribute()requestrequestrequestrequestrequestreuqest.getAttribute()requestrequest

  • 3.3 requestrequestJavacom.abc.mis.login.namecom.abc.mis.login.pwJava/J2EE/

  • 3.3 requestJSPrequestpagesessionapplicationJSPJSPsetAttribute()getAttribute()

  • 3.3 request1setAttribute()/getAttribute()request.setAttribute()request

    public void setAttribute(java.lang.String name, java.lang.Object o)

  • 3.3 requestrequest.getAttribute()request

    Object public java.lang.Object getAttribute(java.lang.String name)

  • 3.3 request

  • 3.3 request2getRequestDispatcher()ServletrequestServletAServletBArequestresponseB

  • 3.3 requestrequest(RequestDispatcher)Servletrequestresponserequestrequest

  • 3.3 requestrequest. getRequestDispatcher()RequestDispatcher

    WebURIpublic requestDispatcher getRequestDispatcher(java.lang.String path)

  • 3.3 requestRequestDispatcherpublic void forward(ServletRequest request, ServletResponse response) throws ServletException,java.io.IOExceptionServletrequestresponseServletrequestresponse

  • 3.3 request forward()responseforward()responseresponse a.jsp

  • 3.3 request

  • 3.3 requesta.jspb.jspa14responsea.jsp3

  • 3.3 requestpublic void include(ServletRequest request, ServletResponse response) throws ServletException,java.io.IOExceptionJSP/ServletrequestresponseJSPServletJSP/Servletresponse

  • 3.3 requesta.jsp

  • 3.3 requestb.jsp

  • 3.3 requesta.jspa1 b a2 123

  • 3.3 request3-3requestJSPDW8JSPexam304.jsp

  • 3.3 request3DW8JSPexam305.jsp4
  • 3.3 request5IE

    exam305.jspexam304.jsp=tom

  • 3.3 request3removeAttribute()request

    public void removeAttribute(String name)request.removeAttribute(name);

  • 3.3 request4setCharacterEncodingrequestparameterparameterGB2312POST

  • 3.3 request3.3.3 request1getProtocol()request

    public java.lang.String getProtocol()

  • 3.3 request2getRemoteAddr()IP

    127.0.0.1 public java.lang.String getRemoteAddr()

  • 3.3 request3getRemoteHost()IP

    public java.lang.String getRemoteHost()

  • 3.3 request4getScheme()requesthttphttpsftpURL

    http

  • 3.3 request5getQueryString()URLURLname=valueURL

    untiltled.jsp

    dd=22&ff=2http://127.0.0.1:8080/untitled.jsp?dd=22&ff=2

  • 3.3 request6getReuquestURI()URLURIHTTP

    untitled.jsp

    /untitled.jsphttp://127.0.0.1:8080/untitled.jsp?dd=22&ff=2

  • 3.3 request7getMethod()requestGETPOST8getServletPath()ServletURLhttp://127.0.0.1:8080/untitled.jsp

  • 3.3 requestuntitled.jsp

    /untitled.jsp

  • 3.3 request9getRealPath

    untitled.jsp

    C:\tomcat\webapps\ROOT\untitled.jsphttp://127.0.0.1:8080/untitled.jsp

  • 3.3 request3.3.4 requestHTTPHTTPhttp://127.0.0.1:8080/exam.jsp

  • 3.3 requestHTTPJSPHTTPHTTPHTTPJSP

  • 3.3 requestHTTPRFC2616JSPHTTPgetHeaderNames()getHeader()1getHeader()HTTP

    HTTPRFCpublic java.lang.String getHeader(java.lang.String name)

  • 3.3 request3getHeaderNames()HTTPHTTP

  • 3.3 request

  • 3.3 request3.3.5 requestcookieCookieCookiesWebWebWebHTTPcookieHTTPcookiecookie

  • 3.3 requestCookiename=valueCookieIEcookieWindows XPcookiesC:C:\Documents and Settings\admin\Cookiescookie(*.txt)

  • 3.3 requestJSPcookiecookiecookiecookiecookiecookiecookie

  • 3.3 request1Cookiejavax.servlet.http.Cookiecookie

    cookieCookie(java.lang.String name, java.lang.String value)

  • 3.3 requestpublic void setMaxAge(int expiry)cookiecookieIEcookiecookie-1Cookiecookiepublic int getMaxAge()cookie

  • 3.3 requestpublic void setSecure(boolean flag)truehttpsSSLcookiefalsecookiepublic java.lang.String getName()cookiepublic java.lang.String getValue()cookie

  • 3.3 request2cookiecookieJSPresponse

    cookie: public void addCookie(Cookie cookie)

  • 3.3 request1:

  • 3.3 request3cookiecookierequestgetCookies()

    cookiecookieHTTPcookiecookienullpublic Cookie[] getCookies()

  • 3.3 request

  • 3.3 request3-4cookie,30cookiecookiecookieAB001KC981DE345RD332PC667cookie301DW8JSP exam306.jsp2

  • 3.3 request

  • 3.3 request3exam306.jspcookie30WindowsXPc:cookiesC:\Documents and Settings\admin\[email protected][1].txtadminWinXP127.0.0[1]4JSPexam307.jsp5

  • 3.3 request1: 2:
  • 3.3 request21: if(myName!=null)22: {23: out.print("="+myName+"");24: if(visitedBook !=null)25: out.print(""+visitedBook);26: }27: else28: {29: out.print("");30: }31: } 32: %>33:

  • 3.3 request6Tomcatexam307.jsp=John AB001,KC981,DE345,RD332,PC667

  • 3.3 request7cookieTomcatTomcatIEhttp://127.0.0.1:8080/exam307.jspcookieWindowsXPIEhttp://127.0.0.1:8080/exam307.jspcookie

  • 3.3 request3.3.6 requestrequestrequestgetLocale()public java.util.Localejava.util.LocaleJDKLocale LocaleLocale.CHINALocale. ENGLISHLocale.US

  • 3.3 request

  • 3.4 response3.4.1 Servlet(response)(response committed)response

  • 3.4 response1public void flushBuffer() throws java.io.IOExceptionout.flush()2public void setBufferSize(int size)3public boolean isCommitted()

  • 3.4 response

  • 3.4 response

  • 3.4 response4public java.io.PrintWriter getWriter() throws java.io.IOExceptionPrintWriterServletflush()

  • 3.4 response3.4.2 HTTPHTTPJSPHTTPresponse. getOutputStream()ServletOutputStream

  • 3.4 response1public void setContentType(java.lang.String type)text/html;charset=UTF-8DW8JSP1ServletServlet_jspService()response.setContentType("text/html; charset=gb2312");

  • 3.4 responseMIME-type2public void setCharacterEncoding(java.lang.String charset)response.setContentType()

  • 3.4 response3public void sendError(int sc) throws java.io.IOExceptionHTTPHTTP1xx2xx3xx4xx5xx

  • 3.4 responseIEhttp://127.0.0.1:8080/aabb.jspTomcataabb.jspTomcatHTTP404IEHTTP

  • 3.4 responseHTTPsendError(int sc) IE404

  • 3.4 response public void sendError(int sc,java.lang.String msg) throws java.io.IOException

  • 3.4 responseIE

  • 3.4 response488

  • 3.4 responseWebWEB-INF\web.xml404e404.jspweb.xml

  • 3.4 response404/e404.jspe404.jsp

  • 3.4 response

  • 3.4 response4public void setHeader(java.lang.String name, java.lang.String value)HTTPRFC 2047(http://www.ietf.org/rfc/rfc2047.txt)HTTPRefreshIEURL

  • 3.4 response

    "Refresh"URL

  • 3.4 response

  • 3.4 response

  • 3.4 response3-5responseExcel(1)JSPexam309.jsp(2)

  • 3.4 response

    (3)exam309.jspIEExcelExcelExcel

  • 3.4 response3.4.3 responseJSPJSPJSP/ServletURLHTTPURLURLURLHTTP

  • 3.4 responseJSP(forward)(redirect) RequestDispatcher.forward()response.sendRedirect() 1URLURL

  • 3.4 response2JSPrequestresponseJSPrequestresponseJSPrequest3

  • 3.4 responseServletrequestrequestURLhttp://127.0.0.1:8080/exam.jsp?name=tom

  • 3.4 responseresponse

    URL

  • 3.4 response3.4.4 responseJSPURL

  • 3.4 responseresponse

  • 3.4 response1JSPresponse

  • 3.4 response(1)JDKjava.io.FileInputStreampublic FileInputStream(String name) throws FileNotFoundException//\\ FileInputStream inFile=new FileInputStream(c:\\temp\\my1.exe);

  • 3.4 responsepublic int read(byte[] b) throws IOException b -1public void close() throws IOException

  • 3.4 response(2)responsegetOutputStream()

    javax.servlet.ServletOutputStreamServletOutputStreamjava.io. OutputStreamServletServlet public ServletOutputStream getOutputStream() throws java.io.IOException

  • 3.4 responseServletOutputStream myOut=response. getOutputStream();ServletOutputStreampublic void write(byte[] b) throws IOExceptionb.lengthwrite(b) write(b, 0, b.length) public void close() throws IOException

  • 3.4 response3-6responseROOT\d.zip(1)JSPexam310.jsp(2)

  • 3.4 response(3) JSPdownError.jsp(4) (5)

  • 3.4 response2. java.io.FileReaderFileReaderjava.io.BufferedReaderJSPoutout

  • 3.4 responseFileReaderpublic FileReader(String fileName) throws FileNotFoundException//\\

  • 3.4 responseBufferedReaderpublic BufferedReader(Reader in)public String readLine() throws IOException

  • 3.4 response3-7JSPROOT\ee.txt(1)JSPexam311.jsp(2)

  • 3.4 response(3)

    (4)

    (5)

  • 3.5 application 3.5.1 applicationWebTomcatWebWeb.xmlTomcatWebServlet WebServletServlet

  • 3.5 application1WebWebWebWEB-INF\web.xml

  • 3.5 applicationDBLoginName=user1DBLoginPassword=123msg=/msg.properties

  • 3.5 application2WebWebpublic java.util.Enumeration getInitParameterNames()nullpublic java.lang.String getInitParameter(java.lang.String name)

  • 3.5 application

  • 3.5 application3.5.2 applicationapplicationWebapplication1public java.util.Enumeration getAttributeNames()appliaction

  • 3.5 application2public java.lang.Object getAttribute(java.lang.String name)applicationObjectnull

  • 3.5 applicationWebapplication

  • 3.5 application3public void setAttribute(java.lang.String name,java.lang.Object object)applicationnameobjectJavaobjectnullname

  • 3.5 application4public void removeAttribute(java.lang.String name)Servlet

  • 3.5 application3-8applicationJSP1JSPexam308.jsp2

  • 3.5 application

  • 3.5 application3Tomcatexam308.jspIEURLhttp://127.0.0.1:8080/exam308.jsp1IEServletapplicationWebServlet4Tomcatexam308.jsp1applicationServlet()Tomcatapplication

  • 3.5 application3.5.3 applicationServletpplicationServlet1public int getMajorVersion()ServletServlet API2public int getMinorVersion()ServletServlet APIServlet 2.4443public java.lang.String getServerInfo()ServletTomcat5.5.17Apache Tomcat/5.5.17

  • 3.5 application 3.5.4 application Servletapplication1public void log(java.lang.String msg)

  • 3.5 application

  • 3.5 application2public void log(java.lang.String message,java.lang.Throwable throwable)

  • 3.5 application3.5.5 applicationRequestDispatcherapplicationRequestDispatcher

    public RequestDispatcher getRequestDispatcher(java.lang.String path)

  • 3.5 applicationURI/RequestDispatchernull

  • 3.5 application2public java.lang.String getMimeType(java.lang.String file)MIME-typeMIME-typeServletMIME-typenullROOTd.docd.xlsd.zipMIME-type

  • 3.5 application

  • 3.5 application

  • 3.5 application3public java.lang.String getRealPath(java.lang.String path)

    C:\tomcat\webapps\ROOT\

  • 3.5 application4public java.io.InputStream getResourceAsStream(java.lang.String path)

  • 3.6 sessionsessionsession sessionsession(Session Tracking)

  • 3.6 session3.6.1 URLsessionURL(URL Rewriting)sessionname=valueURLURLURLURLsession

  • 3.6 sessiona.jspsessionstatus=90http://127.0.0.1:8080/k.jspk.jspstatus=90sessionURLhttp://127.0.0.1:8080/k.jsp?status=90

  • 3.6 sessiona.jspURL

  • 3.6 session3-9exam312.jsp3-13-23-13-2

  • 3.6 session(1)JSPexam312.jsp(2)3-1userNamepwexam313.jsp(3)

  • 3.6 session

  • 3.6 session(4)JSPexam313.jspsession

  • 3.6 session5Tomcatexam312.jsptom/123exam313.jspexam313.jsp10URLsession

  • 3.6 session3.6.2 cookiesessioncookiesessionsessioncookiecookie 3-103-9cookiesessionname=tomexam312.jspexam313.jsp

  • (1)exam312.jspJSP

  • (2) exam313.jspJSP

  • 3.6 session(3)exam312.jsp3-9(4)3-9exam312.jspURLhttp://127.0.0.1:8080/exam313.jsp?name=ddexam313.jspURLcookiename=tomURL

  • 3.6 session3.6.3 session session

  • 3.6 session3-11exam314.jsp3-3exam314.jsp0~100

  • 3.6 session

  • 3.6 session(1)JSPexam314.jsp(2)

  • 3.6 session(3)Tomcat3-3sessiondemo\ch3\exam311.exeIEHTML

  • 3.6 session3.6.4 sessionsessionsessionsessionsessionWebsessionsessionsessionsession

  • 3.6 session1public boolean isNew()sessiontruesessionsessiontrue

  • 3.6 session3-123-8IEsession.isNew()isNew()true13-8

  • 3.6 session2public java.lang.String getId()sessionID3-13sessionIDJSPsession(1)JSPexam315.jsp(2)

  • (3)TomcatIEexam315.jspsession IDIDJSP

  • 3.6 session3public long getLastAccessedTime()long1970-1-1 00:00:00session

  • 3.6 session4public void invalidate()sessionsession5public void setMaxInactiveInterval(int interval)sessionintervalHTTPsessionsessionsessionTomcat30

  • 3.6 session6public int getMaxInactiveInterval()session7public void setAttribute(java.lang.String name,java.lang.Object value)sessionnamesessionvaluesessionvaluenullsessionsession

  • 3.6 session

  • 3.6 session8public java.lang.Object getAttribute(java.lang.String name)sessionObjectnull

  • 3.6 session9public java.util.Enumeration getAttributeNames()session10public void removeAttribute(java.lang.String name)sessionsession

  • 3.6 session3-14session3-9(1)exam312.jsp

  • (2)exam313.jsp

  • 3.6 session11sessionsessionsessionsessionsessionsessionsessionsessionsessionHTTPsessionsessionsessionsession.invalidate()session

  • 3.6 session3.6.5 session3-15JSPsessionJSPJSP(1)JSPauthen.jsp

  • 3.6 session (2)JSPtest.jsp

    (3)Tomcattest.jsp

  • 3.7 JSP3.7.1 configconfigjavax.servlet.ServletConfigServletJSPServletROOT\web.xml a.jspURL/goServletweb.xml

  • 3.7 JSPJSPconfigconfigpublic java.lang.String getInitParameter(java.lang.String name)loginNametomnull

  • 3.7 JSPpublic java.util.Enumeration getInitParameterNames()a.jsp

  • 3.7 JSP

  • 3.7 JSP

  • 3.7 JSP3.7.2 exceptionJSP exceptionjava.lang.ThrowableThrowableJavaThrowable

  • 3.7 JSPpublic StackTraceElement[] getStackTrace()

  • 3.7 JSPStackTraceElementpublic String getClassName()public String getMethodName()public String getFileName()public int getLineNumber()*.java

  • 3.7 JSP3.7.3 pageJSPServletJVMpageServletJavathis

  • 3.7 JSP3.7.4 pageContextpageContextjavax.servlet.jsp.PageContextJSPServletJspFactory.getPageContext()PageContextPageContext

  • 3.7 JSP1pageContextgetException()getPage() getRequest()getResponse() getSession()getServletConfig()JSP

  • 3.7 JSPJSPServlet

  • 3.7 JSP2

  • 3.7 JSPrelativeUrlPathURIa.jsp

  • 3.7 JSPb.jsprequest

  • 3.7 JSP

  • 3.7 JSPa.jsp

  • 3.7 JSPb.jsp