首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当在web.xml文件和控制台noHandlerFound中的urlpattern中使用*.jsp时,spring mvc显示404

当在web.xml文件和控制台noHandlerFound中的urlpattern中使用*.jsp时,Spring MVC显示404的原因是因为Spring MVC默认不会将以.jsp结尾的URL映射到对应的JSP文件上。

在Spring MVC中,URL的映射是通过HandlerMapping来实现的,而默认的HandlerMapping是RequestMappingHandlerMapping。该HandlerMapping会根据配置的@RequestMapping注解来确定URL与Controller的映射关系。

当URL的后缀为.jsp时,默认的HandlerMapping无法找到对应的Controller来处理该请求,因此会返回404错误。

要解决这个问题,可以通过配置InternalResourceViewResolver来将以.jsp结尾的URL映射到对应的JSP文件上。

在web.xml文件中,可以添加以下配置:

代码语言:xml
复制
<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<error-page>
    <error-code>404</error-code>
    <location>/error.jsp</location>
</error-page>

在spring-mvc.xml文件中,可以添加以下配置:

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

上述配置中,InternalResourceViewResolver将以.jsp结尾的URL解析为对应的JSP文件,prefix属性指定JSP文件所在的目录,suffix属性指定JSP文件的后缀。

另外,为了处理404错误,可以在web.xml文件中配置error-page,将404错误重定向到一个自定义的错误页面,例如error.jsp。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券