2009.12.21――邓讲的关于SpringMVC

2009.12.21――邓讲的关于SpringMVC
2011年09月14日
   2009.12.21――邓讲的关于SpringMVC
  在2009.12.16――谢讲的关于项目中,谢讲了一些关于springMVC的,今天邓又讲了,这里就主要介绍下那个Ctroller的写法吧
  1.继承org.srpingframework.web.servlet.mvc.Controller接口(注意这是接口)
  实现方法:
  public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception{ 。。。。。。 }看例子:
  java
  package com.controller; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class HelloController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { String success; //request.setAttribute("hello","Hello zhangsan!"); /*A代码 Map map = new HashMap(); map.put("test_1", "test_model_1"); map.put("test_2", "test_model_2");*/ ModelAndView mav=new ModelAndView("index.jsp"); mav.addObject("test_1", "test_model_113"); mav.addObject("test_2", "test_model_213"); //mav.addAllObjects(map);//可以这样直接加一个map,但前提是A代码要有 return mav; } }注意,这个MOdelAndView生成对象时,要有一个它转向的地址,它有七种构造方法,最常用的是:
  ModelAndView mav=new ModelAndView("hello.do","mengmeng","123123"); 第一个参数是要转向的地址, 第二个参数是它的名字,前台就通过这个名字来获得第三个参数 第三个参数很显然,是它的值
  然后,看一下ApplicationContext.xml里面的配置
  
  页面
  

  2.org.springframework.web.servlet.mvc.multiaction. MultiActionController(注意这是类)
  它可以在一个Controller类中定义多个方法,并根据用户的请求来执行当中的某个方法。
  要使用MultiActionController,你要配一个
  org.springframework.web.servlet.mvc.multiaction.Pa rameterMethodNameResolver或org.springframework.web.servlet.mvc.multiaction.Pr opertiesMethodNameResovler的实例,两个类都是根据一个请求参数,以参数决定要执行Controller类中的哪个方法
  2.1 org.springframework.web.servlet.mvc.multiaction.Pa rameterMethodNameResolver
  看例子:
  java:
  package com.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.multiaction.Mu ltiActionController; /** * MultiActionController 继承该方法的类 可以在类中写多个方法,实现Controller的类中默认实行的方法是 * handleRequest,MultiActionController相当于多个Controller 比较常用。 * 在配置的时候需要注意: * 该类需要客户端传递个参数 * 1.参数值对应的值就是MultiActionController中想对应的方法 * 2.参数名在ApplicationContext.xml中的ParameterMethodNameResoler中定义 * @author Administrator * */ public class MultiActionControllerTest extends MultiActionController { public ModelAndView test_01(HttpServletRequest request, HttpServletResponse response) throws Exception { String name = request.getParameter("userName"); System.out.println("参数为:" + name); request.setAttribute("userName", name); return new ModelAndView("MutilAction_01.jsp"); } public ModelAndView test_02(HttpServletRequest request, HttpServletResponse response) throws Exception { String password = request.getParameter("password"); System.out.println("参数为:" + password); request.setAttribute("password", password); return new ModelAndView("MutilAction_02.jsp"); } }
  xml
   multiAction multiAction mengmeng
  html
   MultiActionController Demo 按钮一 按 钮二
  2.2 org.springframework.web.servlet.mvc.multiaction.Pr opertiesMethodNameResovler.
  看例子
  java
  public class YuliangController { private YuliangService yuliangService; private String nationalID; public YuliangService getYuliangService() { return yuliangService; } public void setYuliangService(YuliangService yuliangService) { this.yuliangService = yuliangService; } public String getNationalID() { return nationalID; } public void setNationalID(String nationalID) { this.nationalID = nationalID; } public ModelAndView test1(HttpServletRequest request, HttpServletResponse response) throws Exception { PrintWriter out = response.getWriter(); List list = yuliangService.getSubDT_RGNCD("360000"); JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(nationalID); out.print(jsonArray.toString()); return null; } public ModelAndView test2(HttpServletRequest request, HttpServletResponse response) throws Exception { PrintWriter out = response.getWriter(); return null; } }
  xml
   classpath:db.properties yuliangController /*负责给那个Controller注入全局变量*/ /*这个yuliangController有两部分组成methodNameResolver和delegatea*/ /*路径和Controller中方法的对应关系*/ test1 test2
  html
   MultiActionController Demo 按钮一 按钮二
  
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值