前言:
一、总共有10节,也就是10篇博客来讲述Spring的MVC,几乎涵盖了所有Spring MVC中的内容。
二、我创建的例子是一个球场预订系统,例子我已经测试调试通过,是一个Maven的project,包含一个Parent project:wsheng-spring-base和一个子Module:wsheng-spring-mvc.
三、在Eclipse中直接import maven的project即可,会同时引入上诉两个project的。
四、如果你没有耐心,可以不必往下学习,因为网上有很多例子,但是都是讲的Spring MVC很少的面,而且你可以快速的上手,但如果你想真正了解Spring MVC中的很多细节,就可以慢慢的去看博客(从第一节到第十节),如果有什么问题,欢迎信息告诉我。
五、学习的方法是你可以先将源码导入到eclipse中,然后根据博客上的内容,对照源码,慢慢消化,这是个漫长的过程,但是会帮助你了解很多Spring MVC的细节。
===================================================================================
在 Spring3.X @MVC - (一)重要的配置文件 http://josh-persistence.iteye.com/blog/1873138的基础上,接着讨论Spring MVC的引用。
6) 激活Spring MVC注解扫描
a: <context:component-scan>启动Spring的组件扫描功能
b:<context:component-sacn>扫描带有@Controller,@RequestMapping的Java类或者方法。
注:@RequestMapping分为类级别和方法级别两种。可以在court-servlet.xml中分别注册一个
DefaultAnnotationHandlerMapping和一个AnnotationMethodHanlderAdapter实例。
7)使用注解@Controller创建SpringMVC控制器,使用@RequestMapping进行URL路由。
基于注解的类可以是任意的类,可以不用实现特设的接口或者扩展特殊的父类。使用@Controller注解这种类。@RequestMapping注解可以应用到类级别或者方法级别。第一种映射策略是将一个特殊的URL模式映射到一个控制器类,然后映射特定的HTTP方法到每个处理程序中的方法。
@Controller
@RequestMapping("/welcome")
public class WelcomeController {
@RequestMapping(method = RequestMethod.GET)
public String welcome(Model model) {
Date today = new Date();
model.addAttribute("today",today);
return "welcome";
}
}
上面的代码直观的表现出需要显示在视图View层上的数据today被加到了Model层中。@RequestMapping(method = RequestMethod.GET)注解用于将welcome方法装饰城控制器默认的HTTP GET处理程序的方法。值得注意的是,如果没有声明默认的HTTP GET处理程序方法,会抛出SeveltException异常。因此Spring MVC控制器至少能起到一个URL路由和默认HTTP GET处理程序的方法。
8)@Autowired注解使得不需要使用XML文件注入属性。
<bean class="A">
<property name="b" ref="b"/>
</bean>
9)创建JSP视图
Spring MVC支持许多种用于不同表现技术的视图,这些视图包括:JSPs, HTML, PDF, Excel(XLS),XML,JSON,Atom以及RSS feeds,JasperReports和其他第三方视图实现。
10)用@RequestMapping映射请求:
当DispatcherServlet接收到一个Web请求,它试图将请求发往用@Controller注解声明的不同控制器类。这个调度过程将去扫描用@RequestMapping注解的各个方法。
a: 将多个URL映射到同一个方法上:
@RequestMapping(value={"/member/remove","/member/delete"}, method=RequestMethod.GET)
public String removeMember(@RequestParam("memberName") String memberName){ }
b:映射类,@RequestMapping注解支持使用通配符(*)
@Controller
@RequestMapping("/member/*")
public class MemberController {
@RequestMapping("display/{user}")
public String removeMember(@PathVariable("user") String user) {
...
}
@RequestMapping
public void memberList() {
1. 该方法使用了@RequestMapping注解,但是缺少URL值。因为类级别使用了/member/* URL通配符,这个方法可看成是
全能的方法执行。任何URL请求(例如/member/abcdefg或者/member/randomroute)都会触发该方法。
2. void的返回值,这使处理程序方法默认指向同名的视图,也就是memberList.
}
}
11) 映射8种HTTP类型
默认情况下,@RequestMapping注解假定所有请求都是HTTP GET类型,这在Web应用中是最常见的情况。如果需要指定POST类型,可以使用
@RequestMapping(method=RequestMethod.POST)或者
@RequestMapping(value="processUser" method= RequestMethod.POST)
附:HTTP请求类型一共有8种情况:HEAD, GET,POST,PUT,DELETE,TRACE,OPTIONS,CONNECT.
看了如上的介绍后,你可能会问,URL扩展名.HTML和.JSP在哪里?
你可能注意到,@RequestMapping注解中指定的所有URL都没有文件扩展名如.html或者.jsp的踪影。这是与MVC设计一致的好习惯,但是没有得到广泛地采用。
控制器不应该与任何类型的表现视图技术的扩展名(如HTML或者JSP)关联。这就是控制器返回逻辑视图,而且声明匹配的URL应该没有扩展名的原因。
如今,应用常常要以不同的格式(如XML,JSON,PDF或者XLS(Excel))提供相同的内容。检查请求中提供的扩展名(如果有)以及确定使用的视图技术应该留给视图解析器完成。
相关推荐
标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...
在IT行业中,Spring MVC 和 MyBatis 是两个非常重要的框架,它们分别负责Web应用程序的控制器层和数据访问层。Spring MVC 提供了模型-视图-控制器架构模式的实现,而MyBatis则是一个轻量级的SQL映射框架,用于简化...
演示示例:demo.hsweb.me测试用户:test (test2,test3,test4....) 密码:123456演示项目源码:hsweb-demo技术选型第三方:MVC:spring-boot. 开箱即用,学习成本低,部署方便(main方法运行).ORM:mybatis. 配置灵活,简单方便...
Spring MVC是Spring提供的用于构建Web应用的模块,它提供了一种模型-视图-控制器架构,使开发者能有效地组织和分离业务逻辑、展示逻辑和数据。Spring Boot是Spring的另一个重要组成部分,它为快速搭建和运行Spring...
在本项目"easy_springmvc"中,我们将深入学习如何从零开始构建一个基于Spring Web MVC框架的Java Web应用程序。Spring MVC是Spring框架的一部分,它为开发者提供了强大的模型-视图-控制器(MVC)架构支持,使得创建...
在IT行业中,构建Web应用程序是常见的任务,而Spring MVC、MyBatis、Oracle数据库和jQuery Easy UI这四个组件是构建高效、稳定且用户友好的应用的常见选择。下面将详细阐述这些技术及其在实现增删改查(CRUD)操作...
在这个项目中,这三者协同工作,Spring Security 负责后台的权限控制,Spring MVC 处理业务逻辑和数据交互,而 jQuery Easy-UI 则提供了用户友好的界面。理解这些知识点对于开发和维护这样一个用户权限管理项目至关...
- 确定需要的Easypoi子模块,如基础注解包、导入导出工具包、Spring MVC支持等。 - 使用Maven或直接下载JAR文件,添加至项目依赖。 **4. 测试** - 包括JUnit单元测试和Spring MVC视图测试。 - 运行示例应用程序...
Spring Boot 2.7.x(最新) Spring MVC MyBatis MyBatis Plus 数据访问(开启分页) Spring Boot 调试工具和项目处理器 Spring AOP 切面编程 Spring Scheduler 定时任务 Spring 事务注解 数据存储 MySQL ...
base 导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能4.easypoi-web 耦合了spring-mvc 基于AbstractView,极大的简化spring-mvc下的导出功能5.sax 导入使用xercesImpl这个包(这个包可能...
SSM框架是Java web开发中常用的三大框架Spring、Spring MVC和MyBatis的组合,用于构建高效、灵活的Web应用程序。在这个学生系统中,开发者利用SSM的优势来管理学生信息,实现了数据的增删改查等功能。以下是关于SSM...
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法 ...
Spring Boot 2.7.x(贼新) Spring MVC MyBatis + MyBatis Plus 数据访问(开启分页) Spring Boot 调试工具和项目处理器 Spring AOP 切面编程 Spring Scheduler 定时任务 Spring 事务注解 业务特性: 业务代码生成...
1. Spring MVC 配置:easypoi支持与Spring MVC框架集成,提供了多种配置方式。 2. 注解 View JeecgSingleExcelView:easypoi提供了多种View注解,例如JeecgSingleExcelView注解,用于标识Excel视图的配置信息。 ...
4. **与其他框架集成**:除了Seam,RESTEasy还支持与EJB、Guice、Spring和Spring MVC的集成,提供了广泛的应用场景。 **JAX-RS与RESTful服务** JAX-RS,全称Java API for RESTful Web Services,是Java中用于创建...
Spring MVC是企业级Java Web开发的主流框架,它通过注解实现依赖注入、AOP(面向切面编程)、事务管理等功能,极大地提高了开发效率。注解在Spring MVC中的应用,如@Controller、@RequestMapping、@Autowired等,...
Spring Boot 2.7.x(贼新) Spring MVC MyBatis + MyBatis Plus 数据访问(开启分页) Spring Boot 调试工具和项目处理器 Spring AOP 切面编程 Spring Scheduler 定时任务 Spring 事务注解 数据存储 MySQL 数据库 ...
3. **SpringMVC**:SpringMVC是Spring框架的一部分,是一个用于构建Web应用的模型-视图-控制器(MVC)框架,它提供了处理HTTP请求和响应的强大功能。 4. **MyBatis**:MyBatis是一个优秀的持久层框架,它支持定制化...
SSM项目案例以及EasyUI分页功能实现是一个典型的Java Web开发中的应用场景,主要涉及Spring、Spring MVC和MyBatis三个核心框架,以及EasyUI作为前端展示的组件库。以下是关于这些技术的详细说明: **Spring**:...
3. **MyBatis**:这是一个轻量级的持久层框架,它将SQL语句与Java代码分离,通过XML或注解配置,实现了灵活的数据库操作。在"StudentManager"中,MyBatis可能用于与MySQL数据库的交互,包括学生信息的增删改查等操作...