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(通常所说的原型)非常
不适应,很多朋友可能都有这样的体验,这篇文章能解答你们很多的同类问题。
阅读全文