1、添加jar
2、web.xml配置
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
3、配置action-servlet.xml
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:cOntext="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-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/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
name必须是successView,这里对应的是success.jsp
4、编写实体bean:
package cn.itcast.springmvc.domain;
public class User {
private String name;
private String address;
private Integer age;
private String tel;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the address
*/
public String getAddress() {
return address;
}
/**
* @param address the address to set
*/
public void setAddress(String address) {
this.address = address;
}
/**
* @return the age
*/
public Integer getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(Integer age) {
this.age = age;
}
/**
* @return the tel
*/
public String getTel() {
return tel;
}
/**
* @param tel the tel to set
*/
public void setTel(String tel) {
this.tel = tel;
}
}
5、编写HomeController,代码如下:
package cn.itcast.springmvc.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class HomeController extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest req,
HttpServletResponse resp) throws Exception {
String name = req.getParameter("name");
String msg = "hello " + name + " !";
System.out.println("HomeController...");
return new ModelAndView("helloworld","msg",msg);
}
}
6、HomeController返回到的页面未:helloworld.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
This is helloworld.jsp
${requestScope.msg}
7、编写MyCommandController,代码如下:
package cn.itcast.springmvc.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;
import cn.itcast.springmvc.domain.User;
/**
*命令控制器
*/
public class MyCommandController extends AbstractCommandController {
public MyCommandController(){
//注册命令类
this.setCommandClass(User.class);
//命令名称
this.setCommandName("user");
}
@Override
protected ModelAndView handle(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
User u = (User)command;
System.out.println("name:" &#43; u.getName() &#43; " address:" &#43; u.getAddress());
return new ModelAndView("commandView","user",u);
}
}
8、commandView.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
This is commandView.jsp
name:${user.name }
address:${user.address }
age:${user.age }
tel:${user.tel }
9、MyFormController
package cn.itcast.springmvc.controller;
import org.springframework.web.servlet.mvc.SimpleFormController;
import cn.itcast.springmvc.domain.User;
public class MyFormController extends SimpleFormController {
public MyFormController() {
this.setCommandClass(User.class);
this.setCommandName("user");
}
@Override
protected void doSubmitAction(Object command) throws Exception {
User u = (User)command;
System.out.println(u.getName());
System.out.println("doSubmitAction");
super.doSubmitAction(command);
}
}
对应的userForm.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()&#43;"://"&#43;request.getServerName()&#43;":"&#43;request.getServerPort()&#43;path&#43;"/";
%>
/form.do" method="post">
name:
age:
address:
tel:
对应的success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
This is success.jsp!
10、MyWizardFormController的代码如下:
package cn.itcast.springmvc.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractWizardFormController;
import cn.itcast.springmvc.domain.User;
public class MyWizardFormController extends AbstractWizardFormController {
public MyWizardFormController(){
this.setCommandClass(User.class);
this.setCommandName("user");
}
@Override
protected ModelAndView processCancel(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
return new ModelAndView("helloworld");
//跳转到helloworld.jsp
}
@Override
protected ModelAndView processFinish(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
User u = (User) command;
System.out.println(u);
return new ModelAndView("helloworld"); //跳转到helloworld.jsp
}
}
相应的WEB-INF/wizard/1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()&#43;"://"&#43;request.getServerName()&#43;":"&#43;request.getServerPort()&#43;path&#43;"/";
%>
/wizard.do" method="post">
name:value="${requestScope.user.name}"><br> //标出的颜色区域可以用于回显
//必须有下划线,且&#20540;是确定的
//必须有下划线,且&#20540;是确定的
相应的WEB-INF/wizard/2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()&#43;"://"&#43;request.getServerName()&#43;":"&#43;request.getServerPort()&#43;path&#43;"/";
%>
/wizard.do" method="post">
address:="${requestScope.user.address }"><br>
//表示跳转到最开始的页面。
相应的WEB-INF/wizard/3.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()&#43;"://"&#43;request.getServerName()&#43;":"&#43;request.getServerPort()&#43;path&#43;"/";
%>
/wizard.do" method="post">
age:
tel:
基于XML配置的Spring MVC,布布扣,bubuko.com