首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

request小结

2012-12-22 
request总结1.getAuthType() 返回用来保护servlet的认证方案的名称2.getContextPath() 返回请求URI的一部

request总结
1.getAuthType() 返回用来保护servlet的认证方案的名称

2.getContextPath() 返回请求URI的一部分,指示请求的上下文。我开始以为是url第一级目录,根据url规则,协议://地址:端口/第一级目录/第二级目录/资源文件名

http://localhost:8080/webwork-test/t.jsp返回/webwork-test,而如果项目部署为ROOT项目,http://localhost:8080/t.jsp第一级目录不存在,则返回的是是一个空字符串""
上面两个测试确实返回的是第一季目录,但是另外一种情况,
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/ms/*</url-pattern>
</servlet-mapping>
这里我们有一个servlet,然后我们把他部署为root项目,但是
http://localhost:8080/ms/a/b/c/d.do,返回的还是空字符串""。可见它返回的不仅仅是url第一级目录。对于servlet,context会自动减去对应的url-pattern。


3.getPathInfo,提出这个请求关联。以servlet为例,假设servlet的映射如:
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/ms/*</url-pattern>
</servlet-mapping>
/ms/*都会呗匹配,那么http://localhost:8080/webwork-test/ms/a.do/a/b/c的url中,额外的路径信息是/a.do/a/b/c,而http://localhost:8080/webwork-test/ms/a.do则返回的是a.do,http://localhost:8080/webwork-test/ms返回null,http://localhost:8080/webwork-test/ms/返回/
但是查询参数不返回,http://localhost:8080/webwork-test/ms/a/b?a=1,依然返回/a/b,后面的参数不返回。


4.getPathTranslated 返回项目所在的真是目录+getPathInfo()
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/ms/*</url-pattern>
</servlet-mapping>
假设项目在D:\liyixing\tomcat\tomcat6\webapps\webwork-test,访问通过http://localhost:8080/webwork-test/ms/b,那么得到的值是D:\liyixing\tomcat\tomcat6\webapps\webwork-test\b,而http://localhost:8080/webwork-test/ms/b/a/b/c.do得到的值是
D:\liyixing\tomcat\tomcat6\webapps\webwork-test\b\a\b\c.do

热点排行