我们在进行springMVC开发时,必定会在jsp页面引入js文件、img文件和css文件。大多数人会将这些分类存放在WebRoot文件下新建的文件夹下面。同时,会在web.xml文件中配置拦截所有请求即配置<url-pattern> / </url-pattern>。这样就造成了页面无法访问到js、img和css文件夹中的文件了。

在SpringMVC中可以利用 <mvc:resources location="/img/" mapping="/img/**"/>来访问。从而解决了上述问题。

引入jar包

1.web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<!--基础配置有springMVC配置的servlet路径-->
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--如果需要加载其他地方的多个springMVC配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/SpringMVC-servlet.xml</param-value>
<!--classpath*代表在src下寻找config文件夹再在其中寻找以-servlet.xml文件结尾的文件-->
</init-param>
<!--配置加载顺序的-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern><!-- 拦截所有请求 -->
</servlet-mapping>
</web-app>

web.xml

2.spring-servlet.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 常规单class多方法bean -->
<bean name="/test1/multi" class="controller.MultiController">
<property name="methodNameResolver">
<ref bean="paramMethodResolver" />
</property>
</bean>
<!-- 常规单class多方法bean,静态资源访问 -->
<bean name="/test1/static" class="controller.StaticController">
<property name="methodNameResolver">
<ref bean="paramMethodResolver" />
</property>
</bean>
<!-- 常规单class单方法bean -->
<bean name="/test1/hello" class="controller.HelloSpringMVCController"></bean> <!-- 静态资源访问 -->
<mvc:resources location="/img/" mapping="/img/**" />
<mvc:resources location="/js/" mapping="/js/**" />
<!--以上两句就是设置spring的拦截器不对img文件夹与js文件夹的文件进行拦截--> <!-- 参数名称解析 -->
<bean id="paramMethodResolver"
class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="action"></property>
</bean> <!-- 视图解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property> <!-- 前缀 -->
<property name="suffix" value=".jsp"></property> <!-- 后缀 -->
</bean>
</beans>

3.StaticController之间转换器,控制器

package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
public class StaticController extends MultiActionController {
public ModelAndView img(HttpServletRequest request,
HttpServletResponse response) {
System.out.println("----img----");
return new ModelAndView("/staticFile");
}
public ModelAndView jQuey(HttpServletRequest request,
HttpServletResponse response) {
System.out.println("----jquery----");
return new ModelAndView("/JQuery");
}
}

4.jQuery.jsp和

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>实现一个controller写多个方法</title>
</head>
<body>
<h>图片访问</h>
<div>
<img alt="图片" src="../img/3.png">
</div>
</body>
</html>

staticFile.jsp

结果截图

反馈的视图

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="../js/jquery-1.10.2.min.js">
$(document).ready(function(){
alert(11);
});
</script>
</head>
<body>
jQuery请求<br>
</body>
</html>

jQuery.jsp

最新文章

  1. Python学习笔记——字典
  2. JS中的宽高(基础知识很重要)
  3. 忘记Mysql登录密码
  4. 在linux下挂载、卸载U盘
  5. poj-3040 Allowance (贪心)
  6. Wpf OpenFileDialog
  7. 深入理解java String 对象的不可变性
  8. css中的media
  9. 改动项目APP名字后,在真机执行报错:The provisioning profile specified in your build settings (“haotian”) has an AppI
  10. 自定义php错误异常处理
  11. webpack基础打包安装分享
  12. Mongodb---操作备忘
  13. BZOJ_3398_[Usaco2009 Feb]Bullcow 牡牛和牝牛_组合数学
  14. vue 前端框架
  15. 方向键控制圆球运动(简易)(js)
  16. win7下使用IIS服务器及自定义服务器端包含模块(SSI)步骤
  17. C# 使用printDocument1.Print打印时不显示 正在打印对话框(里面还有一个讨厌的取消按钮)
  18. springMVC 静态资源加版本号
  19. 高性能MySQL--innodb中事务的隔离级别与锁的关系
  20. 如何给RecyclerView加上滚动条--现在就教你

热门文章

  1. c语言中time相关函数
  2. c# 多线程 --Mutex(互斥锁)
  3. Javascript高级程序设计——执行环境与作用域
  4. POJ1011
  5. JQuery可见性过滤选择器:hidden无法获取通过visibility:hidden样式隐藏的元素-遁地龙卷风
  6. HNU 12868 Island (简单题)
  7. python 函数的调用 和执行 小知识
  8. [OpenJudge0054]特务会议召开
  9. PHP学习路线
  10. EXT Grid celleditor列编辑,动态控制某一单元格只读