今天看到网上的文章,说如何在项目中选择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
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
4)编写引用mvc的配置文件 example-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.longflang.controller" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
注:example-servlet.xml的命名: example为web.xml定义的名称。系统启动时自己扫描以web定义名称-servlet.xml的配置文件
5)编写controller DemoController .java
package com.longflang.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.longflang.pojo.User;
@Controller
public class DemoController {
@RequestMapping(value="getmv")
public ModelAndView getInfo(){
ModelAndView modelAndView = new ModelAndView();
//传String
modelAndView.addObject("title", "Return ModelAndView:");
//传Object
User u = new User("longflang","12");
modelAndView.addObject("user", u);
//传List
List<User> userlist = new ArrayList<User>();
userlist.add(new User("longflang1","123"));
userlist.add(new User("longflang2","345"));
userlist.add(new User("longflang3","45"));
modelAndView.addObject("list", userlist);
//传Map
Map<String, String> usermap = new HashMap<String, String>();
usermap.put("name", "longflang");
usermap.put("age", "234");
modelAndView.addObject("user", usermap);
modelAndView.setViewName("result");
return modelAndView;
}
@RequestMapping(value="string")
public String getInfo(Model model){
//传String
model.addAttribute("title", "return String:");
//传Object
User u = new User("longflang","12");
model.addAttribute("user", u);
//传List
List<User> userlist = new ArrayList<User>();
userlist.add(new User("longflang1","123"));
userlist.add(new User("longflang2","345"));
userlist.add(new User("longflang3","45"));
model.addAttribute("list", userlist);
//传Map
Map<String, String> usermap = new HashMap<String, String>();
usermap.put("name", "longflang");
usermap.put("age", "234");
model.addAttribute("map", usermap);
return "result";
}
@RequestMapping(value="strparam")
public String getInfo(@RequestParam("name") String name ,@RequestParam("age") String age,Model model){
//传String
model.addAttribute("title", "return String: @RequestParam");
//传Object
User u = new User(name,age);
model.addAttribute("user", u);
//传List
List<User> userlist = new ArrayList<User>();
userlist.add(new User(name,age));
userlist.add(new User(name,age));
userlist.add(new User(name,age));
model.addAttribute("list", userlist);
//传Map
Map<String, String> usermap = new HashMap<String, String>();
usermap.put("name", name);
usermap.put("age", age);
model.addAttribute("map", usermap);
return "result";
}
@RequestMapping(value="strparam/{name}")
public String getInfo2(@PathVariable("name") String name ,@RequestParam("age") String age,Model model){
//传String
model.addAttribute("title", "return String: @PathVariable");
//传Object
User u = new User(name,age);
model.addAttribute("user", u);
//传List
List<User> userlist = new ArrayList<User>();
userlist.add(new User(name,age));
userlist.add(new User(name,age));
userlist.add(new User(name,age));
model.addAttribute("list", userlist);
//传Map
Map<String, String> usermap = new HashMap<String, String>();
usermap.put("name", name);
usermap.put("age", age);
model.addAttribute("map", usermap);
return "result";
}
}
6)定义POJO User.java
package com.longflang.pojo;
public class User {
private String name;
private String age;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(String name, String age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
7)编写调用页面及结果页面 index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<a href="http://localhost:8080/mvc/getmv">ModelAndView:http://localhost:8080/mvc/getmv</a> <br>
<a href="http://localhost:8080/mvc/string">String:http://localhost:8080/mvc/string</a> <br>
<a href="http://localhost:8080/mvc/strparam?name=longflang&age=234">String@RequestParam:http://localhost:8080/mvc/strparam?name=longflang&age=234</a> <br>
<a href="http://localhost:8080/mvc/strparam/longflang?age=234">String@PathVariable:http://localhost:8080/mvc/strparam/longflang?age=234</a> <br>
</body>
</html>
result.jsp(注:位置与配置文件定义相同\WEB-INF\jsp\result.jsp )
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<br>String:${title }<br>
Object:<br>
name:${user.name }
age:${user.age }<br>
<hr>
List:<br>
<c:forEach var="u" items="${list}">
name:${u.name }
age:${u.age }<br>
</c:forEach>
<hr>
Map:<br>
name:${map.name }
age:${map.age }<br>
<hr>
</body>
</html>
分享到:
相关推荐
运行好,调试好的spring3.0 mvc_rest_demo.war ****************************** * 运行说明 ****************************** 1. 直接部署dist/springmvc_rest_demo.war至tomcat并启动服务器 2. 访问...
Spring MVC Simple Demo Spring3.0版本下简单DEMO. 非常之简单...
博客地址:http://blog.csdn.net/smilefyx/article/details/48465831
Spring3.0 mvc 定时器及多线程任务demo
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。
Spring MVC 的一个DEMO jiaolongzhi作品 采用 Spring 3.0 MVC 框架 JSTL+EL 语句输出界面 利用 注解 的形式定义 控制层 服务层 和持久层 采用MYSQL5.0数据库 自己建2张表 student 和teacher 字段 看实体类中...
Spring 3.0 mvc portlet demo 很好的portlet学习示例。集合了portlet Spring3.0 注释配置bean等
折腾了好几天,终于从零开始把spring mvc 3.0 + ibatis 3.0 (基于oracle)的Demo完全跑通了。Demo中有不少注释,使用的jar包基本是最精简的了。留着做个备用,也给大家一个参考!
demo spring 3.0 mvc
简单 SpringMVC3.0 dmeo
使用Spring MVC3.0+Spring+Spring data JPA 参照springside的一个小Demo
eclipse 直接导出的项目 Spring MVC 的一个DEMO jiaolongzhi作品 采用 Spring 3.0 MVC 框架 JSTL+EL 语句输出界面 利用 注解 的形式定义 控制层 服务层 和持久层 采用MYSQL5.0数据库
NULL 博文链接:https://am-wj.iteye.com/blog/1751749
实现了一把spring-mvc + security 来实现用户登录及权限控制。并且写了下实现的文档。以及附件内提供Spring_Security-3.0.1_中文官方文档.pdf 对初学者来大致了解security 还是有一定的作用的,想自己拓展的就别看了...
是实用,简单的SpringMvc3.0的展示,帮助你快速掌握Spring3.0的web层操作
Demo一个SpringBootDemo工程,主要是基于SpringBoot2.0.3主要的功能数据持久化MySQL数据库主要集成Hibernate,一个简单的User类测试配置Redis数据库配置Redis,主要配置了RedisTample文件上传文件上传,用于文件的...
Webx 3.0和Spring MVC一样, 完全建立在Spring框架之上,故可运用Spring的所有特性。 • 扩展性 —— Webx 3.0对Spring做了扩展,使Spring Bean不再是“bean”,而是升级成“组件”。一个组件可以扩展另一个组件,也...
- 视图框架:Spring MVC 4.3 - 持久层框架:MyBatis 3.3 - 定时器:Quartz 2.3 - 数据库连接池:Druid 1.0 - 日志管理:SLF4J 1.7、Log4j - 页面交互:Vue2.x - 缓存:redis 2.8 - 手机页面:weui 软件需求** - ...
spring-webmvc-3.2.8.RELEASE.jar spring.jar standard-1.1.2.jar standard.jar stax2-api-3.1.1.jar struts-core-1.3.10.jar struts-el.jar struts.jar struts2-codebehind-plugin-2.3.15.3.jar struts2-config-...
SpringMVC | MVC框架 | [http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc](http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc) ...