Servlet的Request中和用戶請求路徑相關的操作有多個,下面一一列舉:
1.getQueryString(),&之后GET方法的參數部分。
2.getServletPath(),web.xml中定義的Servlet訪問路徑。
3.getPathInfo(),Servlet訪問路徑之后,QueryString之前的中間部分。
4.getContextPath(),Context路徑前綴(這個應該是最熟悉的啦)。
5.getRequestURI(),等于getContextPath() + getServletPath() + getPathInfo()。
6.getRequestURL(),等于getScheme() + "://" + getServerName() + ":" + getServerPort() + getRequestURI()。
7.getPathTranslated(),等于getServletContext().getRealPath("/") + getPathInfo()。
注意:
1.getServletContext().getRealPath("/") 后包含當前系統的文件夾分隔符(windows系統是"\",linux系統是"/"),而getPathInfo()以"/"開頭。
2.getPathInfo()與getPathTranslated()在servlet的url-pattern被設置為/*或/aa/*之類的pattern時才有值,其他時候都返回null。
3.在servlet的url-pattern被設置為*.xx之類的pattern時,getServletPath()返回的是getRequestURI()去掉前面ContextPath的剩余部分。
今天突然發現IE和FF對于一些屬性可以直接讀取,使用element.attributeName或element[attributeName]形式。
但是有些不可以,在FF下必須用element.getAttribute(attributeName)來讀取。
并且,IE下這三種方式的行為是一致的,而FF下前兩種和后一種是不一致的。
同理設置屬性的方法也是不一致的。
其內部的實現原理還不得而知,希望有知道的朋友指點一二。
摘要: 本文里講述的是關于JavaScript的prototype問題,如this成員和prototype成員有什么不同等。
本文屬于中等級別的文章,如果大家對OOP of JavaScript還不清楚的話,請先去了解一下,
寫本文的原因是習慣了Java、C#等語言,對于JavaScript的prototype(通常所說的原型)非常
不適應,很多朋友可能都有這樣的體驗,這篇文章能解答你們很多的同類問題。
閱讀全文