今天写一个springMVC的入门日志,使用spring4.1.6。
加入maven依赖,pom.xml如下:
4.0.0 com springmvc war 0.0.1-SNAPSHOT springmvc Maven Webapp http://maven.apache.org junit junit 3.8.1 test org.springframework spring-core 4.1.6.RELEASE org.springframework spring-web 4.1.6.RELEASE org.springframework spring-webmvc 4.1.6.RELEASE javax.servlet jstl 1.2 javax.servlet javax.servlet-api 3.1.0 provided taglibs standard 1.1.2 javax.servlet.jsp jsp-api 2.2 provided org.apache.tomcat.maven tomcat7-maven-plugin 2.1 8080 /springmvc UTF-8 springmvc tomcat7 springmvc
springMVC依赖的jar包如下:
一、配置web.xml:
Archetype Created Web Application
contextConfigLocation /WEB-INF/root-context.xml dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/mvc-context.xml 1 dispatcher / org.springframework.web.context.ContextLoaderListener
二、mvc-context.xml配置:
说明:
是将controller让spring去扫描这个包下的@Controller注解的bean,交给spring上下文去管理(依赖注入)。
这句话其实做了很多事,它注册了下面这些特殊用途的bean:
RequestMappingHandlerMapping处理controller内的@RequestMapping注解,将请求url映射为相应的controller内的方法
BeanNameUrlHandlerMapping 将请求url映射为bean的name
还有其他一些bean,在此不列出。
新建一controller:
package com.springmvc.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.springmvc.demo.model.User;
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/add")
public ModelAndView addUser(@RequestParam String username,@RequestParam String password,@RequestParam int id){
ModelAndView mv= new ModelAndView();
mv.setViewName("hello");
User u= new User();
u.setUsername(username);
u.setPassword(password);
u.setId(id);
mv.addObject("user", u);
return mv;
}
}
输入url:http://localhost:8080/springmvc/user/add?username=yang&password=123&id=1234
将跳转到hello.jsp:
${user.username},${user.password},${user.id}
可以看g以提交的参数。