欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jsp页面在tomcat部署后访问为源代码页面

程序员文章站 2022-03-11 19:13:46
...

今天后台跳转jsp页面,无法正常显示jsp页面显示的是源代码界面

jsp页面在tomcat部署后访问为源代码页面

就是这样的。

解决办法是,在web.xml里的<url-pattern>/*</url-pattern>改为<url-pattern>/</url-pattern>,即可正常显示

<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springMVC.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

进一步推敲为何会这样

<url-pattern>/</url-pattern>拦截的是路径型的访问,例如/login这样的,而<url-pattern>/*</url-pattern>是对所有的路径型和后缀型的访问做拦截,如.jsp .html /login 这样的访问,这样就会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller,spring对这个的拦截和展示是源码输出,所以这就是问题所在,有其他地方看到,也可能会报404错误。

参考文章:https://blog.csdn.net/u012152037/article/details/78305789

https://blog.csdn.net/hei_chen/article/details/78909700,感谢这两位作者

相关标签: jsp