新手,第一次接触java项目。说的不对,莫喷
背景:最近做一个web项目,用的mvc + jersey做的服务端,由于项目比较小,想直接访问.jsp页面,不想走viewable来转换。
实验1:
1、服务设定为 localhost:8080/service
2、jersey中设定@path("aa")
3、web.xml中配置的 filter 和 servlet ,都配置成 <url-pattern>/*</url-pattern>
4、在浏览器地址栏中输入 localhost:8080/service/views/tt.jsp
结果:http404错误
原因是所有的地址都走了过滤器。那么我们绕过过滤器如何?
把上述步骤3中的配置,都改成<url-pattern>/aa/*</url-pattern>
再执行步骤4,果然可以访问了,因为把所有的过滤器都绕过去了。但是,在地址中敲入 localhost:8080/aa/login,又返回了http404。
就是这个破问题,让我迷糊了一整天。上网找了N种方式,设置静态资源等等。。都不行。只能自己调试了
调试到分析地址的地方发现一个问题。当过滤器配置的过滤规则为 /* 的时候,request获取的baseurl是 localhost:8080/service/,但是当过滤器配置为 /aa/*的时候,获取到的baseurl变成