SpringMVC访问静态资源实例讲解
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka
本文要以一个例子来说明SpringMVC访问静态资源
/images /**映射到 ResourceHttpRequestHandler 进行处理,location指定静态资源的位置.可以是web application根目录下、jar包里面,这样可以把静态资源压缩到jar包中。cache-period可以使得静态资源进行web cache
如果出现下面的错误,可能是没有配置
报错WARNING: No mapping found for HTTP request with URI [/mvc/user/findUser/lisi/770] in DispatcherServlet with name 'springMVC'
使用
这样就巧妙的把对静态资源的访问由 HandlerMapping 转到 ResourceHttpRequestHandler 处理并返回,所以就支持 classpath 目录, jar 包内静态资源的访问.
另外需要注意的一点是,不要对 SimpleUrlHandlerMapping 设置 defaultHandler. 因为对 static uri 的 defaultHandler 就是ResourceHttpRequestHandler,
否则无法处理static resources request.
下面用一个例子来说明用法
本文工程免费下载
1、在eclipse中新建一个web工程、
然后导入如下包:
2、配置web.xml
MyDispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring-servlet.xml 1 MyDispatcher /
3、然后是控制器:
package com.mucfc;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;@Controller
public class StaticFileController {@RequestMapping(value="/image/test")public ModelAndView img(HttpServletRequest request,HttpServletResponse response){System.out.println("-----img-------");return new ModelAndView("image");}@RequestMapping(value={"/index","/"})//相对于根目录的路径public String test2() {return "index";//指定页面要跳转的view视图路径}
}
4、启动注解:
5、在WEB-INF新建一个目录views,并添加一个index.jsp和image.jsp
其中index.jsp:
<%@ page language="java" contentType="text/html; charset=gb2312"pageEncoding="gb2312"%><% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
Insert title here
采用String返回视图:访问图片
和image.jsp如下内容:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
Insert title here
图片
6、在WebContent新建一个目录,取名img,专门用来存放图片:
把图片考进去。
整个工程目录 如下:
8、接下来就运行了:
可以通过这里点击进去看图片,也可以直接输入http://localhost:8080/SpringMVCLearningChapter2_1/image/test
本文工程免费下载
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
