SpringMVC笔记(5) 启用(优化)注解+静态资源访问
【转载请注明出处:http://blog.csdn.net/leytton/article/details/38517179】
文章索引 http://blog.csdn.net/leytton/article/details/38502665
参考文章
Springmvc注解启用(6) http://www.blogbus.com/wanping-logs/235898637.html
Springmvc注解优化(7) http://www.blogbus.com/wanping-logs/235898656.html
一、 启用(优化)注解
在配置文件springMVC-servlet.xml 中添加
<context:component-scan base-package="com.llqqww.controller" /> <mvc:annotation-driven />
注:
component-scan 对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能
之前非注解版的bean配置已经不需要了、删除
二、 Controller控制器注解标识
HelloWorldController.java
package com.llqqww.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping("/hi") public class HelloWorldController{ @RequestMapping("/helloworld") public ModelAndView Welcome(){ String str_name="Leytton"; ModelAndView mav=new ModelAndView(); mav.setViewName("/welcome"); //设置返回的文件名 mav.addObject("name", str_name); return mav; } }
三、 静态资源访问
不能直接访问JS、CSS、image等静态资源、需要在配置文件springMVC-servlet.xml中添加
<mvc:resources mapping="/images/**" location="/images/" /> <mvc:resources mapping="/js/**" location="/js/" /> <mvc:resources mapping="/css/**" location="/css/" /> <mvc:resources mapping="/uploads/**" location="/uploads/" />
四、 springMVC-servlet.xml最终代码
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 配置静态资源,直接映射到对应的文件夹,不被DispatcherServlet处理,3.04新增功能,需要重新设置spring-mvc-3.0.xsd --> <mvc:resources mapping="/images/**" location="/images/" /> <mvc:resources mapping="/js/**" location="/js/" /> <mvc:resources mapping="/css/**" location="/css/" /> <mvc:resources mapping="/uploads/**" location="/uploads/" /> <!-- ①:对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --> <context:component-scan base-package="com.llqqww.controller" /> <mvc:annotation-driven /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
转
关于SpringMVC中找不到<mvc:resources/>标签的解决办法
在springMVC中我们经常会用到<mvc:resources/>标签,但是有些编辑器中的schema过于陈旧。导致找不到<mvc:resources/>标签。
经过试验,有两个解决办法:
1.替换文件:
打开window->preferences,在输入框输入xml找到xml Catalog。在右边中找到http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
这一项并单击,看下面的Details,找到文件路径和key。
key:http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
那么我们打开网址:http://www.springframework.org/schema/mvc并下载spring-mvc-3.0.xsd文件。
再打开文件路径:Location: D:\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\1077\1\.cp\org\springframework\web\servlet\config\spring-mvc-3.0.xsd
找到文件:D:\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\1077\1\.cp\org\springframework\web\servlet\config下面。
用下载的文件进行替换即可。最后重启myeclipse即可。
2.第二个方法:
在spring的配置文件中会有这样的代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
将其中http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">改为
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">即可。