1.首先是环境的搭建
导入jar包,就把spring的所有jar导进去就好,再加上commons-logging.jar包导入
注意:这里仅仅导入还不行,还需要把jar包拖动到项目的lib目录中
2.下面就是xml文件的配置了
由于我们是跟随潮流的人,所以就采用注解配置了,以前的那种bean name的那种配置就不用了
首先是DispatcherServlet的配置,我们配置在web.xml中
类图如图所示
我们在web.xml中这样写
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>testDynamicRule</display-name>
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
这里主要写两个配置
<servlet></servlet>
<servlet-mapping></servlet-mapping>
下面的<filter></filter>是用来设置编码的,防止中文乱码
web.xml设置好了,我们再设置一下myServlet-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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<!-- 启用spring mvc注解 -->
<context:annotation-config/>
<!-- 设置注解类所在的类包 -->
<context:component-scan base-package="com.rf.controller"></context:component-scan>
<mvc:annotation-driven/>
<!-- view resolver -->
<!-- 对转向页面的路径解析。prefix前缀 suffix后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/></bean>
<bean name="/hello" class="com.rf.controller.HelloWorldController"></bean>
</beans>
3.我们再在com.rf.controller中写一个controller类
package com.rf.controller;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.sun.xml.internal.bind.CycleRecoverable.Context;
@Controller
public class controller1 {
@RequestMapping("/addRule.do")
public String result(String username,Map<String,Object> context){
System.out.println("username is:"+username);
context.put("username", username);
System.out.println("hello");
return "hello";
}
@RequestMapping("/welcome")
public String welcome(){
System.out.println("welcome");
return "welcome";
}
}
这里采用注解的方式,现在类上面注解一个@Controller来 表明这是一个控制器
再在方法上面写上@RequestMapping(“/add”) 表示当访问/add时,就会返回hello.jsp
这里要注意一个问题,就是访问页面的时候把值怎么样传给控制器,控制器怎么把值传给视图
这里就是两个参数
函数中第一个参数就是访问时传过来的值
函数中第二个参数就是传给视图的值,以map的方式存在
但是呢,map是java的东西,spring本身有一个东西叫Model,所以应该这样做
@RequestMapping("/addRule.do")
public String result(String username,Model model){
System.out.println("username is:"+username);
model.addAttribute("username", username);
System.out.println("hello");
return "hello";
}
很多很详细的教程,我这里就不详细写了。
像爱酷网的孔浩的教程 还有跟我学spring mvc都是不错的教程
主要还是实际写应用吧。