第一步:web.xml文件是一个工程必不可少的配置文件。
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">
springmvc-chapter2
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
chapter1
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath*:config/chapter1-servlet.xml
1
chapter1
/
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
第二步:springMVC的配置文件,chapter1-servlet.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
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="org.springframework.web.servlet.view.InternalResourceViewResolver">
第三步:定义一个表单提交的jsp页面,hello.jsp和一个处理后的跳转jsp页面,mutil.jsp
pageEncoding="UTF-8"%>
Hello Worldfunction add(){
//获取表单
var form = document.getElementById("addForm");
//设置请求方式为post,如果是get的话就要对发送过去的参数先进行编码然后再解码,此处不作演示,否则会乱码
form.method="post";
//指定访问路径
form.action = "add";
//提交表单
form.submit();
}
姓名:
年龄:
mutil.jsp
pageEncoding="UTF-8"%>
Hello World姓名:${userName }
年龄:${age }
第四步:建立一个Controller,MutilController.java
package cn.javass.chapter2.web.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
@Controller
@RequestMapping("/test")
public class MutilController extends MultiActionController {
/**
* form表单提交后进入此方法进行处理
* @param request
* @param response
* @param userName form表单中提交的元素userName
* @param age form表单中提交的元素age
* @return mutil.jsp页面
*/
@RequestMapping("/add")
public String add(HttpServletRequest request,HttpServletResponse response,String userName,String age){
//jsp页面form表单中的元素,通过方法的形参传递进来,这是本次参数传递的核心
System.out.println("姓名:======"+userName);
System.out.println("年龄:======"+age);
//将参数设置到request会话中,给jsp页面获取
request.setAttribute("userName", userName);
request.setAttribute("age", age);
return "/mutil";
}
/**
* 首先页面请求进入hello.jsp页面
* @param request
* @param response
* @return
*/
@RequestMapping("/hello")
public String test(HttpServletRequest request,HttpServletResponse response){
return "/hello";
}
}
点击提交,跳转到mutil.jsp页面,控制台打印信息和jsp页面如下图
至此,一个最基本的springMVC页面和Controller的参数传递就实现了!但是,这种方法很少用,因为表单元素少还好,一旦很多,所有的参数都当作形参传递进来,就不符合面向对象的思想,因此不合适。