靜態資源無法訪問問題


 靜態資源無法訪問的問題有三種解決方式:

1.使用Tomcat默認的servlet解決

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>

 

2.會將對靜態資源的訪問請求通過HandlerMapping映射到默認Servlet請求處理器DefaultServletRequestHandler對象。而該處理器調用了Tomcat的DefaultServlet來處理靜態資源的訪問請求。當然需要引入mvc約束

<mvc:defult-servlet-handler/>3.方式三 在Spring3.0.4之后,Spring定義了專門用於處理靜態資源請求的處理器ResourceHttpRequestHandler。
並且添加了<mvc:resources/>標簽,專門用於解決靜態資源無法訪問問題。 Location:靜態資源所在目錄
mapping: 對資源的請求

<mvc:resources location="/image/"    mapping="/image / ** "></mvc:resources>

 在沒有添加靜態資源的解決方法之前,jpg,js,css,都無法加載出來。下面使我們添加處理后的代碼。

搭建架構

FirstController
import javax.naming.ldap.Control;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.annotation.Annotation;

public class FirstController implements Controller {

    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView mv=new ModelAndView();
         /*  mv.setViewName("index.jsp");*/
        mv.addObject("msg","hello mvc");//key he value 
        mv.setViewName("index");
        return mv;
    }
}

Springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
  http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <bean id="/hello.do" class="cn.kitty.controller.FirstController"></bean>
    <!--方式一-->
 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--前綴 prefix -->
    <property name="prefix" value="/"></property>
  <!--后綴 suffix -->
    <property name="suffix" value=".jsp"></property>
</bean>
   
        </beans>

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false"%>

<html>
<body>
<img src="image/2.jpg">
<h2>Hello World!</h2>
${msg}
</body>
</html>

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <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:springmvc.xml</param-value>
    </init-param>

    <load-on-startup>1</load-on-startup>
  </servlet>

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

  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.jpg</url-pattern>
  </servlet-mapping>

</web-app>

運行結果  美美噠

后兩種方式的代碼都是寫在

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM