首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制器映射工作,但jsp提供404。

控制器映射工作,但jsp提供404。
EN

Stack Overflow用户
提问于 2014-09-03 10:25:46
回答 1查看 309关注 0票数 0

我有一个球衣网络应用程序正在运行,我正在尝试将spring集成到其中。几个断点之后,我发现当控制器请求映射是可访问的,但是jsp提供了一个404。这里的任何帮助都会很有帮助的。

这是我的分配器视图解析器

代码语言:javascript
复制
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>

我试图加载的jsp是login,它可以在路径/WEB-INF/jsp/login.jsp上使用

我的jersey映射被设置为默认映射器/

代码语言:javascript
复制
<servlet-mapping>
    <servlet-name>Jersey-Web</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

我已经将spring调度员设置为按以下模式发送

代码语言:javascript
复制
<servlet-mapping>
    <servlet-name>mvcDispatcher</servlet-name>
    <url-pattern>/f/login</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>mvcDispatcher</servlet-name>
    <url-pattern>/static/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>mvcDispatcher</servlet-name>
    <url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>mvcDispatcher</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>mvcDispatcher</servlet-name>
    <url-pattern>*.css</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>mvcDispatcher</servlet-name>
    <url-pattern>/WEB-INF/jsp/login.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>mvcDispatcher</servlet-name>
    <url-pattern>/login.jsp</url-pattern>
</servlet-mapping>

当我访问/f/login时,我看到相应的控制器正在被触发。我从我的控制器返回一个ModelAndView,就像这样

代码语言:javascript
复制
ModelAndView mav = new ModelAndView( "login" );
return mav;

我想达到什么目的?

我希望通过mvcDispatcher提供url模式中所有jsp的和提到的路径,并希望通过jsp servlet提供任何其他请求。

我试过什么?

  • 我试着设置spring映射到默认路径/,但正确地拒绝了两个默认servlet是不允许的。
  • 我试着将jsp servlet模式设计成/*,让spring转换为/*.jsp,但正如jsp规范所提到的,*.jsp模式被/*取代了。

编辑

重申我的默认servlet是而不是 dispatcherServlet,我的默认servlet是jersey。

EN

回答 1

Stack Overflow用户

发布于 2014-09-03 15:28:41

正如zeroflagL在其comment中所述,JSP资源(默认情况下)由Servlet容器的JSPServlet提供,该Servlet执行编译和呈现。Servlet容器将这个JSP Servlet映射到*.jsp。如果使用mvcDispatcher覆盖该映射,则会丢失所有这些功能,并使DispatcherServlet处理相应的请求。但是您的DispatcherServlet不知道如何处理这些问题。

去掉那些*.jsp映射。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25641964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档