现在的位置: 首页 > 综合 > 正文

spring 3.0MVC 一个简单demo

2013年07月26日 ⁄ 综合 ⁄ 共 5933字 ⁄ 字号 评论关闭

转一篇关于spring mvc的博文,文章的看点在于Controll类与页面的交互部分。转自:http://longflang.iteye.com/blog/889146

今天看到网上的文章,说如何在项目中选择MVC框架,看了一下Spring 3.0 MVC 的文档,感觉用注解的方式还是比较方便。跟Struts2比起来各有优点(注:以前用过struts1.x,现在用的是Strust2.x)。如果要选择的话看实际项目架构情况来选择。不说了,动手做一个spring 3.0MVC 的demo,包含页面和controller之间的参数传递(list,map,object,Sting) 及页面的展示。

 

1)创建web工程

2)引入相关jar包(注:commons-fileupload.jar,commons-logging.jar不在spring官方下载包中,需另外添加)

3)配置web.xml

Xml代码  收藏代码
  1. <servlet>  
  2.     <servlet-name>example</servlet-name>  
  3.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  4.     <load-on-startup>1</load-on-startup>  
  5. </servlet>  
  6. <servlet-mapping>  
  7.     <servlet-name>example</servlet-name>  
  8.     <url-pattern>/</url-pattern>  
  9. </servlet-mapping>  

 

4)编写引用mvc的配置文件 example-servlet.xml

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans     
  6.            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
  7.            http://www.springframework.org/schema/context     
  8.            http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  9.     <context:component-scan base-package="com.longflang.controller" />  
  10.   
  11.     <bean id="viewResolver"  
  12.         class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  13.         <property name="prefix" value="/WEB-INF/jsp/" />  
  14.         <property name="suffix" value=".jsp" />  
  15.     </bean>  
  16.   
  17. </beans>  

 注:example-servlet.xml的命名: example为web.xml定义的名称。系统启动时自己扫描以web定义名称-servlet.xml的配置文件

 

5)编写controller  DemoController .java

Java代码  收藏代码
  1. package com.longflang.controller;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5. import java.util.List;  
  6. import java.util.Map;  
  7.   
  8. import org.springframework.stereotype.Controller;  
  9. import org.springframework.ui.Model;  
  10. import org.springframework.web.bind.annotation.PathVariable;  
  11. import org.springframework.web.bind.annotation.RequestMapping;  
  12. import org.springframework.web.bind.annotation.RequestParam;  
  13. import org.springframework.web.servlet.ModelAndView;  
  14.   
  15. import com.longflang.pojo.User;  
  16.   
  17. @Controller  
  18. public class DemoController {  
  19.     @RequestMapping(value="getmv")  
  20.     public ModelAndView getInfo(){  
  21.           
  22.         ModelAndView modelAndView = new ModelAndView();  
  23.         //传String  
  24.         modelAndView.addObject("title""Return ModelAndView:");  
  25.         //传Object  
  26.         User u = new User("longflang","12");  
  27.         modelAndView.addObject("user", u);  
  28.         //传List  
  29.         List<User> userlist = new ArrayList<User>();  
  30.         userlist.add(new User("longflang1","123"));  
  31.         userlist.add(new User("longflang2","345"));  
  32.         userlist.add(new User("longflang3","45"));  
  33.         modelAndView.addObject("list", userlist);  
  34.         //传Map  
  35.         Map<String, String> usermap = new HashMap<String, String>();  
  36.         usermap.put("name""longflang");  
  37.         usermap.put("age""234");  
  38.         modelAndView.addObject("user", usermap);  
  39.           
  40.         modelAndView.setViewName("result");  
  41.         return modelAndView;  
  42.     }  
  43.     @RequestMapping(value="string")  
  44.     public String getInfo(Model model){  
  45.           
  46.         //传String  
  47.         model.addAttribute("title""return String:");  
  48.         //传Object  
  49.         User u = new User("longflang","12");  
  50.         model.addAttribute("user", u);  
  51.         //传List  
  52.         List<User> userlist = new ArrayList<User>();  
  53.         userlist.add(new User("longflang1","123"));  
  54.         userlist.add(new User("longflang2","345"));  
  55.         userlist.add(new User("longflang3","45"));  
  56.         model.addAttribute("list", userlist);  
  57.         //传Map  
  58.         Map<String, String> usermap = new HashMap<String, String>();  
  59.         usermap.put("name""longflang");  
  60.         usermap.put("age""234");  
  61.         model.addAttribute("map", usermap);  
  62.           
  63.         return "result";  
  64.     }  
  65.     @RequestMapping(value="strparam")  
  66.     public String getInfo(@RequestParam("name") String name ,@RequestParam("age") String age,Model model){  
  67.           
  68.         //传String  
  69.         model.addAttribute("title""return String: @RequestParam");  
  70.         //传Object  
  71.         User u = new User(name,age);  
  72.         model.addAttribute("user", u);  
  73.         //传List  
  74.         List<User> userlist = new ArrayList<User>();  
  75.         userlist.add(new User(name,age));  
  76.         userlist.add(new User(name,age));  
  77.         userlist.add(new User(name,age));  
  78.         model.addAttribute("list", userlist);  
  79.         //传Map  
  80.         Map<String, String> usermap = new HashMap<String, String>();  
  81.         usermap.put("name", name);  
  82.         usermap.put("age", age);  
  83.         model.addAttribute("map", usermap);  
  84.           
  85.         return "result";  
  86.     }  
  87.     @RequestMapping(value="strparam/{name}")  
  88.     public String getInfo2(@PathVariable("name") String name ,@RequestParam("age") String age,Model model){  
  89.           
  90.         //传String  
  91.         model.addAttribute("title""return String: @PathVariable");  
  92.         //传Object  
  93.         User u = new User(name,age);  
  94.         model.addAttribute("user", u);  
  95.         //传List  
  96.         List<User> userlist = new ArrayList<User>();  
  97.         userlist.add(new User(name,age));  
  98.         userlist.add(new User(name,age));  
  99.         userlist.add(new User(name,age));  
  100.         model.addAttribute("list", userlist);  
  101.         //传Map  
  102.         Map<String, String> usermap = new HashMap<String, String>();  
  103.         usermap.put("name", name);  
  104.         usermap.put("age", age);  
  105.         model.addAttribute("map", usermap);  
  106.           
  107.         return "result";  
  108.     }  
  109.       
  110. }  

 

6)定义POJO User.java

Java代码  收藏代码
  1. package com.longflang.pojo;  
  2.   
  3. public class User {  
  4.     private String name;  
  5.     private String age;  
  6.       
  7.     public User() {  
  8.         super();  
  9.         // TODO Auto-generated constructor 

抱歉!评论已关闭.