栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC(五)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC(五)

文章目录
    • Spring MVC多动作控制器
    • Spring MVC多动作控制器样例
    • Spring MVC属性方法名称解析器
    • Spring MVC属性方法名称解析器样例
    • Spring MVC参数方法名称解析器
    • Spring MVC参数方法名称解析器样例
    • Spring MVC可参数化的视图控制器
    • Spring MVC可参数化的视图控制器样例

Spring MVC多动作控制器
  1. MultiActionController类用于在单个控制器中分别映射多个URL到对应的方法。
package com.yiibai.springmvc;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("home");
      model.addObject("message", "Home");
      return model;
   }

   public ModelAndView add(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Add");
      return model;
   }

   public ModelAndView remove(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Remove");
      return model;
   }
}

URL映射配置文件


    
   
  1. 对于/home.html请求,DispatcherServlet将请求转发到UserController类的 home()方法。
  2. 对于user/add.html,DispatcherServlet将请求转发到UserController类的 add()方法。
  3. 对于user/remove.html,DispatcherServlet将请求转发到UserController类的 remove()方法。
Spring MVC多动作控制器样例
  1. 创建一个名称为 MultiActionController的动态WEB项目
  2. 在 com.yiibai.springmvc包下创建一个Java类UserController。
  3. 在jsp子文件夹下创建两个视图文件:home.jsp 和 user.jsp

UserController.java

package com.yiibai.springmvc;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("home");
      model.addObject("message", "Home");
      return model;
   }

   public ModelAndView add(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Add");
      return model;
   }

   public ModelAndView remove(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Remove");
      return model;
   }
}

MultiActionController-servlet.xml



   
      
      
   

   
    
       

home.jsp

<%@ page contentType="text/html; charset=UTF-8" %>



Home



add()方法 
remove()方法

user.jsp

<%@ page contentType="text/html; charset=UTF-8" %>


User.jsp Page


   

${message}

Spring MVC属性方法名称解析器
  1. MultiActionController类可在单个控制器中分别映射多个URL到对应的方法
package com.yiibai.springmvc;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "主页面(Home方法)");
      return model;
   }

   public ModelAndView add(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "添加(Add方法)");
      return model;
   }

   public ModelAndView remove(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "删除(Remove方法)");
      return model;
   }
}

URL映射配置文件


   
      
         
            
               home
               add
               update      
            
         
      
   

  1. 对于/user/home.html请求,DispatcherServlet将请求转发到UserController类的 home()方法
  2. 对于user/add.html,DispatcherServlet将请求转发到UserController类的add()方法。
  3. 对于user/remove.html,DispatcherServlet将请求转发到UserController类的 remove()方法
Spring MVC属性方法名称解析器样例
  1. 创建一个名称为 PropertiesMethodNameResolver 的动态WEB项目。
  2. 在 com.yiibai.springmvc 包下创建一个Java类UserController。
  3. 在jsp子文件夹下创建一个视图文件:user.jsp。

UserController.java

package com.yiibai.springmvc;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "主页面(Home方法)");
      return model;
   }

   public ModelAndView add(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "添加(Add方法)");
      return model;
   }

   public ModelAndView remove(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "删除(Remove方法)");
      return model;
   }
}

PropertiesMethodNameResolver-servlet.xml



   
      
      
   

    
      
   
   
      
      
         
            
               home
               add
               remove
            
         
      
      
     

user.jsp

<%@ page contentType="text/html; charset=UTF-8" %>


User.jsp Page


   

${message}

Spring MVC参数方法名称解析器
  1. MultiActionController类可在单个控制器中分别映射多个URL到对应的方法
package com.yiibai.springmvc;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   }

   public ModelAndView add(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Add");
      return model;
   }

   public ModelAndView remove(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Remove");
      return model;
   }
}

URL映射配置文件


   
      
         
      
   

  1. 对于/user/*.html?action=home请求,DispatcherServlet将请求转发到UserController类的 home()方法。
  2. 对于/user/*.html?action=add,DispatcherServlet将请求转发到UserController类的 add()方法。
  3. 对于/user/*.html?action=remove,DispatcherServlet将请求转发到UserController类的 remove()方法
Spring MVC参数方法名称解析器样例
  1. 创建一个名称为 ParameterMethodNameResolver 的动态WEB项目
  2. 在 com.yiibai.springmvc 包下创建一个Java类UserController
  3. 在jsp子文件夹下创建一个视图文件:user.jsp

UserController.java

package com.yiibai.springmvc;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "主页面(Home)");
      return model;
   }

   public ModelAndView add(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "添加(Add方法)");
      return model;
   }

   public ModelAndView remove(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "删除(Remove方法)");
      return model;
   }
}

ParameterMethodNameResolver-servlet.xml



   
      
      
   

    
      
   
   
      
         
            
         
      
   

user.jsp

<%@ page contentType="text/html; charset=UTF-8" %>


User.jsp Page


   

${message}

Spring MVC可参数化的视图控制器
  1. 可参数化视图允许将请求映射到网页。
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   } 
}

URL映射配置文件


   
      
         index.html=userController
      
   


   

  1. 对于/index.html请求,DispatcherServlet会将请求转发到UserController控制器,并将viewName设置为index.jsp。
Spring MVC可参数化的视图控制器样例
  1. 创建一个名称为 ParameterizableViewController 的动态WEB项目
  2. 在 com.yiibai.springmvc 包下创建一个Java类UserController
  3. 在jsp子文件夹下创建一个视图文件:index.jsp

UserController.java

package com.yiibai.springmvc;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   }
}

ParameterizableViewController-servlet.xml



   
      
      
   

   
      
         
            index.html=userController
         
      
   
   
      
   

index.jsp

<%@ page contentType="text/html; charset=UTF-8" %>


index.jsp Page


   

This is index.jsp page.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/361464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号