Spring MVC模块

本文介绍了Spring的MVC框架,强调其小巧灵活的特点,并对比了与Struts的差异。重点讲解了MVC控制层的Controller接口及其多业务分发器MultiActionController的工作原理,以及视图层如何通过ModelAndView处理。此外,还提及了配置文件如spring-action.xml和web.xml的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

Spring也提供一套自己的MVC框架。相对于Struts、WebWork等的MVC框架,Spring的MVC显得小巧而灵活,实现的机制也是完全不同的。相对于某些应用,SpringMVC也是个不错的选择。

MVC控制层

Spring MVC的控制层是Controller。Controller是个接口,一般直接继承AbstractController并实现handlerRequestInternal方法(相当于Struts 1.x的execute()方法)

package springMVC;

import java.util.List;

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

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import interf.IPersonDAO;

public class PersonController extends AbstractController {	//AbstractController类似继承Action

	private IPersonDAO personDAO;//DAO等待Spring注入
	
	public IPersonDAO getPersonDAO() {
		return personDAO;
	}
	public void setPersonDAO(IPersonDAO personDAO) {
		this.personDAO = personDAO;
	}
	
	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
		//主方法,类似于Struts 1.x的execute()
		String action=request.getParameter("action");
                //需要手工获取参数,也可以自己编写封装代码
                //Write some code to handle the business.  
                //personDAO.dosome();
		return null;
	}
}
多业务分发器

MultiActionController 相当于Struts 1.x中的DispatchAction,能根据某参数值(例如action参数)将不同的请求分发到不同的方法上。

package springMVC;

import java.util.List;

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

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

import interf.IPersonDAO;

public class PersonMultiController extends MultiActionController {
	private IPersonDAO personDAO;

	public IPersonDAO getPersonDAO() {
		return personDAO;
	}

	public void setPersonDAO(IPersonDAO personDAO) {
		this.personDAO = personDAO;
	}
	public ModelAndVie
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值