Spring MVC笔记

发布时间:2023-05-18

Spring vs Spring MVC

Spring是一个轻量级的Java开源框架,使用它可以方便地处理各种应用程序的技术问题,同时该框架也被广泛应用于企业级开发。 Spring MVC是Spring框架的一个扩展,用于更方便地开发Web应用程序。它提供了一个分离的MVC模型,丰富的数据验证、处理和视图渲染功能。

Spring MVC的工作流程图

 -----------                                 --------------
 |           |        HTTP Request / Response   |            |
 | Dispatcher|-------------------------------->| Controllers|
 |  Servlet  |                                 |            |
  -----------                                 --------------
        |                                                   |
        |                                                   |
        |                                                   |
  -----------                                 --------------
 |           |        HTTP Request / Response   |    Views   |
 |   View    |<--------------------------------|  Resolver |
 |  Resolver |                                 |            |
  -----------                                 --------------

Spring MVC的三大特性

1. MVC架构: Spring MVC使用MVC(模型—视图—控制器)设计模式,它使代码更加模块化,易于维护和测试。 2. 映射和注解: Spring MVC使用基于注解的请求处理器方法,从而更容易地将请求映射到处理器方法上,不需要使用XML文件进行配置。 3. 数据绑定和验证: Spring MVC提供了强大的表单处理功能,可以将表单数据自动绑定到JavaBean中,同时还可以进行数据验证和格式化。

简述Spring MVC的工作流程

当用户请求到达Dispatcher Servlet时,Dispatcher Servlet将请求分派给相应的控制器(Controller)进行处理。控制器根据业务逻辑调用服务层(Service)获取数据,并把结果返回给视图层(View)。视图层使用模板引擎进行动态页面的生成,并将结果返回给用户。

Spring MVC框架搭建及详解

  1. 创建Maven项目
  2. 添加Spring MVC相关的依赖
  3. 编写Spring MVC配置文件,如dispatcher-servlet.xml
  4. 编写Controller类,并添加@RequestMapping注解
  5. 编写视图逻辑 配置文件示例:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<context:component-scan base-package="com.example.controller" />
<mvc:annotation-driven />
</beans>

Controller类示例:

package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloWorldController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }
}

Spring MVC框架介绍

Spring MVC框架是一个MVC风格的Web应用程序框架,它使用Spring思想来开发Web应用。 Spring MVC框架具有以下优点: 1. 即插即用: Spring MVC框架提供了许多可重用的组件,可以方便地进行扩展。 2. 分离关注点: Spring MVC框架的MVC模型使应用程序各个部分之间的关注点分离得非常明显。 3. 易于测试: Spring MVC框架的使用使得测试更加容易,因为它们是松耦合的,而且不依赖于环境或硬件限制。

Spring MVC笔试题

题目: Spring MVC框架中,@RequestMapping注解的作用是什么? 答案: @RequestMapping注解用于将控制器方法映射到请求路径或URL。

Spring MVC目录

Spring MVC的目录结构一般如下:

src/main/java/
    com.example.controller/
        HomeController.java
    com.example.model/
        UserModel.java
    com.example.service/
        UserService.java
src/main/webapp/
    WEB-INF/
        jsp/
            home.jsp
        dispatcher-servlet.xml

Spring MVC知识点

1. 配置Dispatcher Servlet: 在web.xml文件中配置Dispatcher Servlet。 2. 使用@RequestMapping注解: 使用@RequestMapping注解将控制器方法映射到请求路径或URL。 3. 表单数据绑定: 可以使用@ModelAttribute注解来绑定表单数据到JavaBean中。 4. 重定向和转发: Spring MVC提供了重定向和转发两种方式,可以使用它们来导航到不同的页面。

Spring MVC登录案例

1. 配置文件:

<mvc:annotation-driven />
<context:component-scan base-package="com.example.controller" />
<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

2. 登录页面:

<form:form method="post" action="login" modelAttribute="user">
    <form:input path="username" />
    <form:password path="password" />
    <input type="submit" value="Login" />
</form:form>

3. 控制器:

@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@ModelAttribute("user") User user, Model model) {
    if (user.getUsername().equals("admin") && user.getPassword().equals("password")) {
        model.addAttribute("username", user.getUsername());
        return "success";
    } else {
        model.addAttribute("error", "Invalid login credentials");
        return "login";
    }
}

4. 成功页面:

<h1>Welcome ${username}</h1>
<a href="logout">Logout</a>

以上便是关于Spring MVC的基本知识点和相关案例的介绍,希望对初学者有所帮助。