由于项目需要,学习下springMVC,在此简单记录一下。
如有十万个为什么,暂且忽略,待以后研究。
本人是基于3.1.1版本开发,如遇jar包版本冲突等其他问题,概不负责。下载地址:上传此zip资源文件,不知道CSDN为什么不给显示,或许相同的资源太多了吧,
大家可自行去下载,或者进群,共享里有。
一:新建web工程,spring001
忽略
二:添加springframework依赖jar包
将dist下的jar全部加进去 然后另加一个commons-logging.jar
三:修改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>/WEB-INF/config/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>
默认DispatcherServlet会加载WEB-INF/[DispatcherServlet的Servlet名字]-servlet.xml配置文件,
本示例为WEB-INF/springMVC-servlet.xml
默认路径为WEB-INF下,也可修改为如下配置
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <!-- <param-value>classpath:conf/springMVC.xml</param-value> -->
- <!-- <param-value>classpath:/conf/springMVC.xml</param-value> -->
- <!-- <param-value>classpath*:/conf/springMVC.xml</param-value> -->
- <!-- 以上三种形式也可以 -->
- <param-value>classpath:conf/springMVC.xml</param-value>
- </init-param>
四:添加springMVC配置文件
- <?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"
- default-lazy-init="true"
- 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
- ">
- <!-- 默认扫描的包路径 -->
- <context:component-scan base-package="com.itmyhome" />
- <!-- 添加注解驱动 -->
- <mvc:annotation-driven />
- <!-- 定义跳转的文件的前后缀 -->
- <bean id="viewResolver"
- class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/" /> <!-- 默认放在WebRoot下 -->
- <property name="suffix" value=".jsp" />
- </bean>
- </beans>
base-package后的内容只是包路径,千万不能把类名也写出来 比如com.itmyhome.Login
否则会报如下错误
警告: No mapping found for HTTP request with URI [/spring001/login] in DispatcherServlet with name 'springMVC'
五:后台Action
- package com.itmyhome;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- @Controller
- public class Login {
- @RequestMapping(value="login")
- public String login(){
- System.out.println("*******已经进入*********");
- return "welcome"; //即返回welcome.jsp
- }
- }
六:返回JSP
新建welcome.jsp 里面随便写点内容 如:Hello springMVC!
最后在浏览器中输入地址 验证 如图:
工程目录如下: