`
guoyiqi
  • 浏览: 965077 次
社区版块
存档分类
最新评论

Spring Web MVC框架学习笔记

 
阅读更多

spring-framework-reference中文版摘录。

spring3.1

 

1.简单介绍一下Spring Web MVC框架 

Spring Web MVC借助DispatcherServlet将requests转发给handlers,可以配置handler mappings、视图、本地化等,甚至支持文件上传。

默认的handler 基于@Controller 和 @RequestMapping注解。通过@Controller和@PathVariable等其他注解还可以构建RESTful的WEB应用。

在Spring Web MVC中可以使用普通的类,而不必实现特定的接口。

Spring的数据绑定和视图实现非常的灵活,model采用Map格式。

 

 

2.DispatcherServlet

跟其他的web MVC框架一样,Spring Web MVC也是基于request驱动的(跟JSF区别),属于前端控制型。

DispatcherServlet 其实是Servlet(HttpServlet的子类),需要在web.xml声明,并配置要其转发的requests。示例如下:

 

<web-app>
<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>/example/*</url-pattern>
</servlet-mapping>
</web-app>

 /example/的请求将会被DispatcherServlet转发。这仅仅是使用Spring Web MVC的第一步。

DispatcherServlet需要定义自己的WebApplicationContext,以[servlet-name]-servlet.xml命名置于WEB-INF目录下。文件的命名必须和web.xml配置的servlet-name一致。如上的配置,就应命名为/WEB-INF/example-servlet.xml。

<web-app>
<servlet>
<servlet-name>golfing</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>golfing</servlet-name>
<url-pattern>/golfing/*</url-pattern>
</servlet-mapping>
</web-app>

 如上配置就应命名为/WEB-INF/golfing-servlet.xml。

Spring DispatcherServlet利用一些特定的bean来转发请求和渲染视图,这些bean都在WebApplicationContext中配置。

 

 

3.实现Controllers

Spring Web MVC的controller用标注定义,这样不需要继承或实现特定的基类,可以灵活的扩展和移植。示例如下:

@Controller
public class HelloWorldController {
@RequestMapping("/helloWorld")
public String helloWorld(Model model) {
model.addAttribute("message", "Hello World!");
return "helloWorld";
}
}

 通过@Controller和@RequestMapping标注定义非常灵活,helloWorld方法有个Model参数,返回sting类型的视图名称。

dispatcher会扫描有@Controller标注的类,请在[servlet-name]-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="org.springframework.samples.petclinic.web"/>
// ...
</beans>

  用 @RequestMapping映射 Requests,可以在类级别,也可以在方法级上,一个相对的,一个是绝对的。

 

@RequestMapping映射URI 格式:http://www.example.com/users/{userId} 包含了变量userId.

 http://www.example.com/users/fred.给变量users赋值:fred

@RequestMapping 支持任何形式的路径(如 /myPath/*.do). URI 与其他路径的结合(如 /owners/*/pets/{petId}).

 

 

 

分享到:
评论

相关推荐

    终结版--Spring MVC+MYBatis企业应用实战

    本书介绍了 Java EE 领域的两个开源框架: Spring的MVC 和 MyBatis。其中 Spring的版本为 4.2, My Batis的版本是 3.4o 本书的示例建议在 Tomcat 8 上运行。

    SpringMVC笔记.zip

    SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架 ,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。...

    spring培训学习笔记

    提供MVC Web 框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate ...

    springboot学习思维笔记.xmind

    springboot学习笔记 spring基础 Spring概述 Spring的简史 xml配置 注解配置 java配置 Spring概述 Spring的模块 核心容器CoreContainer Spring-Core Spring-Beans ...

    Spring Boot学习资料教程.docx

    本教程为笔者学习 Spring Boot 时写的笔记,适合没有接触过此框架的新手。内容非常全面,其中的代码都能运行,笔者都做了验证。本教程是简单笔记记录,从零到一学习 Spring Boot。本教程涉及的知识如下: Hell World...

    AppFuse学习笔记(J2EE入门级框架)

    用户可以自由选择Struts、Spring/MVC,Webwork,Taperstry、JSF这几个web框架。采用TDD的开发方式,使用JUnit测试各层,甚至测试 jsp 输出的 w/o 错误。为了简化开发,预定义好了一套目录结构、基类、用来创建数据库...

    java学习笔记

    java学习笔记大全:java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 java se课程介绍 java面向对象编程(基础) java...

    appfuse 学习笔记

    用户可以自由选择Struts、Spring/MVC,Webwork,Taperstry、JSF这几个web框架。采用TDD的开发方式,使用JUnit测试各层,甚至测试 jsp 输出的 w/o 错误。为了简化开发,预定义好了一套目录结构、基类、用来创建数据库...

    毕业设计基于Cesium时空数据可视化后台Java SSM框架.zip

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

    SpringMVC学习笔记|SpringMVC学习.pdf

    SpringMVC是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow中。

    java实现校园一卡通源码-spring-study:Spring学习

    &lt;artifactId&gt;spring-webmvc &lt;version&gt;5.2.0.RELEASE &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-jdbc &lt;version&gt;5.2.0.RELEASE 优点 是一个免费的开源框架 轻量级、非入侵式的框架 非入侵式

    (精品)基于JAVA SSM框架 mysql爱心互助及物品回收管理系统计算机毕业设计源码+系统+lw文档+部署.zip

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

    SSM实战项目——Java高并发秒杀API,详细流程+学习笔记.zip

    SSM框架学习宝典:入门、进阶、精通,全方位代码项目资 一、探索SSM的无限可能 SSM(Spring + Spring MVC + MyBatis)框架作为Java开发中的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您...

    Java基于SSM校园二手购物商城设计毕业源码案例设计.zip

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

    Java基于SSM大学生综合成绩测评系统毕业源码案例设计.zip

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

    基于Vue的电影在线预订与管理系统-后台java代码(ssm)(毕业设计).zip

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

    图书管理系统,贪吃蛇,人力资源管理系统,客户管理系统,企业进销存管理系统,仓库管理系统,机票管理系统,权限管理系统,寝室管理系统

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

    Java基于SSM失物招领系统设计与实现毕业源码案例设计.zip

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

    Java基于SSM拍卖社交网站设计毕业源码案例设计.zip

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

    Java基于SSM教务选课成绩管理系统设计毕业源码案例设计.zip

    这个分享包涵了我基于SSM(Spring、Spring MVC、MyBatis)框架开发的Java项目。以下是主要内容: 源代码:包括Java代码、配置文件和数据库脚本。这些代码展示了如何使用SSM框架进行业务逻辑处理、数据持久化和Web...

Global site tag (gtag.js) - Google Analytics