spring mvc jersey 直接访问jsp页面

新手,第一次接触java项目。说的不对,莫喷

背景:最近做一个web项目,用的mvc + jersey做的服务端,由于项目比较小,想直接访问.jsp页面,不想走viewable来转换。

实验1:

1、服务设定为 localhost:8080/service

2、jersey中设定@path("aa")

3、web.xml中配置的  filter 和 servlet ,都配置成 /*

4、在浏览器地址栏中输入   localhost:8080/service/views/tt.jsp

结果:http404错误


原因是所有的地址都走了过滤器。那么我们绕过过滤器如何?

把上述步骤3中的配置,都改成/aa/*

再执行步骤4,果然可以访问了,因为把所有的过滤器都绕过去了。但是,在地址中敲入 localhost:8080/aa/login,又返回了http404。


就是这个破问题,让我迷糊了一整天。上网找了N种方式,设置静态资源等等。。都不行。只能自己调试了

调试到分析地址的地方发现一个问题。当过滤器配置的过滤规则为  /*  的时候,request获取的baseurl是 localhost:8080/service/,但是当过滤器配置为 /aa/*的时候,获取到的baseurl变成了localhost:8080/service/aa/。会不会是这个问题导致的?于是在浏览器地址中输入  localhost:8080/aa/aa/login测试。果然如此,访问成功!

但是如果url变成这样的话,整个前台程序都得修改。又想了个办法:

将步骤2中的@path("aa")改为 @path("/")。再入户如地址localhost:8080/aa/login测试。好了!成功!

另外附加 web.xml配置详解链接一条, 文件路径图片一份。


web.xml配置详解:http://blog.csdn.net/believejava/article/details/43229361

你可能感兴趣的:(java,mvc,jersery)