Springmvc


跳转:

接收参数:

 乱码:

web.xml

app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd" >


  Archetype Created Web Application

  
  
    charset
    
    class>org.springframework.web.filter.CharacterEncodingFilterclass>
    
      encoding
      UTF-8
    
  
  
    charset
    /*
  

  
  
    springmvc
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:/springmvc.xml
    
  

  
    springmvc
    /
  

springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
"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/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/mvc
                           http://www.springframework.org/schema/mvc/spring-mvc.xsd
                           http://www.springframework.org/schema/context
                           http://www.springframework.org/schema/context/spring-context.xsd">

  
  base-package="io.oar.controller"/>

  
  

  
  

  

  
  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    "prefix" value="/"/>
    "suffix" value=".jsp"/>
  

Forward and Redirect

package io.oar.controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("forwardAndRedirect")
public class ForwardAndRedirectController{
  /**
   * controller跳转到jsp页面默认forward跳转
   */
  @RequestMapping(value = {"test"})
  public String test(){
    System.out.println("test");
    return "index";
  }

  /**
   * return "redirect:/index.jsp  return "redirect:视图全名"
   * redirect跳转不经过视图解析器
   */
  @RequestMapping("test1")
  public String test1(){
    System.out.println("test1");
    return "redirect:/index.jsp";
  }

  /**
   * forward跳转到相同controller类中不同方法 地址栏不变
   * return "forward:/@RequestMapping的路径(类)/@RequestMapping的路径(方法)
   */
  @RequestMapping("test2")
  public String test2(){
    System.out.println("test2");
    return "forward:/forwardAndRedirect/test";
  }

  /**
   * redirect跳转到相同controller类中不同方法 地址栏改变
   * return "forward:/@RequestMapping的路径(类)/@RequestMapping的路径(方法)
   */
  @RequestMapping("test3")
  public String test3(){
    System.out.println("test3");
    return "redirect:/forwardAndRedirect/test";
  }

  /**
   * 跳转到不同controller类
   * forward: redirect:
   */
  @RequestMapping("test4")
  public String test4(){
    System.out.println("test4");
    return "forward:/hello/hello";
  }

  @RequestMapping("test5")
  public String test5(){
    System.out.println("test5");
    return "redirect:/hello/hello";
  }
}

Parameter

package io.oar.controller;


import io.oar.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Date;

@Controller
@RequestMapping(value = {"param"})
public class ParamController{
  /**
   * Date yyyy/M/D H:M:S
   */
  @RequestMapping("beam")
  public String beam(String name, Integer age, Double price, Boolean sex, Date birthday){
    System.out.println("name = " + name);
    System.out.println("age = " + age);
    System.out.println("price = " + price);
    System.out.println("sex = " + sex);
    System.out.println("birthday = " + birthday);
    return "index";
  }

  /**
   * object 类型参数 name会同时被赋值
   */
  @RequestMapping("beam1")
  public String beam1(User user, String name){
    System.out.println("user = " + user);
    System.out.println("name = " + name);
    return "index";
  }

  /**
   * 数组参数
   */
  @RequestMapping("beam2")
  public String beam2(String[] b){
    for(String s : b){
      System.out.println("s = " + s);
    }
    return "index";
  }

  /**
   * 集合 必须放到对象属性
   */
  @RequestMapping("beam3")
  public String beam3(User user){
    System.out.println("user.getB() = " + user.getB());
    return "index";
  }
  // public String beam3(List b){
  //   b.forEach(s-> System.out.println("s: "+s));
  //   return "index";
  // }
}