springmvc的请求路径如果没绑定到方法会丢失CSS?

如果@RequestMapping只绑定到类,然后下面的方法没有绑定路径,则打开的时候没有css和js
例如

@Controller
@RequestMapping("/index")
public class articleController {

    @RequestMapping("")
    public String mainIndex(){
        return "index";
    }

}

springmvc相关配置

<mvc:annotation-driven></mvc:annotation-driven>
    <mvc:default-servlet-handler></mvc:default-servlet-handler>

    <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/views/"></property>
        <property name="suffix" value=".html"></property>
        <property name="exposeContextBeansAsAttributes" value="true"></property>
    </bean>

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="20197520"></property>
        <property name="defaultEncoding" value="UTF-8"></property>
    </bean>

    <context:component-scan base-package="com.controller"></context:component-scan>

web.xml相关配置

<servlet>
        <servlet-name>springMvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:spring/springMvc-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <async-supported>true</async-supported>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>springMvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

但是当我把下面的mainIndex方法绑定了url后,css又能显示了

阅读 1.6k
2 个回答

没这么玩过,你可以debug调试下,很神奇

打开的时候没用css,js说明静态资源没有加载到,你可以看下你的html页面是静态资源路径是怎么写的,项目启动页面跳转过去之后,chrome F12进入开发者模式,可以看到页面实际上引用的静态资源路径,看那个路径应该就能看出问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题