Spring-mvc入门案列

web.xml的配置



    
    
    org.springframework.web.context.ContextLoaderListener
    
    
    
    contextConfigLocation
    classpath:applicationContext.xml
    
    
    
    
        qq
        org.springframework.web.servlet.DispatcherServlet
        
        
        contextConfigLocation 
        classpath:springmvc.xml
        
    
    
        qq
        *.do
    
    
    
    bm
    org.springframework.web.filter.CharacterEncodingFilter
    
    
    encoding
    utf-8
    
    
    
    bm
    /*
    
    
    
        index.jsp
    

applicationContext.xml配置




    

    
        
        
        
        
        
        
        
        
        
    
    
    
        
        
        
    



springmvc.xml配置












    
    
        
        
        
        
    

控制层(传接值)

package com.hw.controller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.security.auth.message.callback.PrivateKeyCallback.Request;
import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.hw.dao.impl.UserDaoImpl;
import com.hw.domain.User;

@Controller
@RequestMapping("view")
public class UserController {

    UserDaoImpl db = new UserDaoImpl();

    @RequestMapping("hello")
    // 如果访问此访问:则路径为:user/hello.do
    public String hello() {
        return "hello";
    }

    @RequestMapping("toadd")
    // 如果访问此访问:则路径为:user/toadd.do
    public String toadd() {
        return "add";
    }

    public String add(Model model, User uu) {
        /*
         ****第1 种方法接值spring mvc , add(String name, float money, Date jobtime):
         * 只要方法的括号中属性我和表单中的的属性名一致则自动取值且类型会自动转换 System.out.println(name + " " + money +
         * " " + jobtime);
         * 
         * 第2 种方法接值spring mvc , add(User uu) 只要方法的括号里写上类属性即可(属性名和表单中的属性名一致)
         * System.out.println(uu.getName() + " " + uu.getMoney() + " " +
         * uu.getJobtime());
         * 
         * 第3 种方法接值spring mvc add(HttpServletRequest request) 只要在括号里写上HttpServletRequest
         * request,然后即可request.getParameter("name")取值
         * 
         * String name=request.getParameter("name"); float
         * money=Float.parseFloat(request.getParameter("money")); String
         * jobtime=request.getParameter("jobtime"); System.out.println(name + " " +money
         * + " " +jobtime);
         * 
         * 
         * spring mvc默认为转发方式,如改为重定向则是为:redirect:list.do
        
         ***传值:第 1种方法使用request.setAttribute转发有效,如果重定向有效则用session.setAttribute
         * HttpSession session = request.getSession();//创建session对象
         
        // request.setAttribute("name", name);
        // request.setAttribute("money", money);
        // return "list"; //转发
        // session.setAttribute("name", name);
        // session.setAttribute("money", money);
        /*
         * 传值 :第1种使用:request对象,对转发有效如重定向则要用session对象 
         *      第2种使用:Model传值时可以用使用,对转发有效,对重定向无效
         * 
         */

        model.addAttribute("name", uu.getName());
        model.addAttribute("money", uu.getMoney());
        model.addAttribute("uu", uu);
        return "list"; // 转发
        // return "redirect:list.do"; //重定向
    }
    @RequestMapping("addview")
    public ModelAndView addview(User uu){
    Map map=new HashMap();    
        map.put("name", uu.getName());
        map.put("money", uu.getMoney());
        map.put("uu", uu);
        return new ModelAndView("list",map);
        //第3种使用:ModelAndView传值时可以用使用,对转发有效,对重定向无效
        //return new ModelAndView("redirect:list.do",map);
        
    }
    @RequestMapping("list")
    // 如果访问此访问:则路径为:user/list.do
    public String list() {
        System.out.println("欢迎来看list页面!!!");
        return "list";
    }

    // spring mvc对时间格式处理,Date要导入java.util包下的
    @InitBinder
    private void InitBinder(ServletRequestDataBinder bind) {
        bind.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
    }
}

你可能感兴趣的:(Spring-mvc入门案列)