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框架搭建及详解
- 创建Maven项目
- 添加Spring MVC相关的依赖
- 编写Spring MVC配置文件,如dispatcher-servlet.xml
- 编写Controller类,并添加
@RequestMapping
注解 - 编写视图逻辑 配置文件示例:
<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的基本知识点和相关案例的介绍,希望对初学者有所帮助。