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 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 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