首页 > 数据库 > 数据库开发技术 > 10个SpringMVC的核心组件详解
Spring MVC 的核心组件是构成整个框架的基础,它们协同工作以支持基于 MVC 架构的 Web 应用程序开发。以下是V哥工作中整理的每个组件的详细介绍,包括示例代码和解释:
<!-- 在 Spring MVC 的配置文件中定义 DispatcherServlet -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(Model model) {
// 获取用户列表并添加到模型
List<User> users = userService.listUsers();
model.addAttribute("users", users);
return "userList";
}
}
// 通常不需要手动编写,Spring MVC 会自动配置合适的 HandlerMapping。
// 通常不需要手动编写,Spring MVC 会自动配置合适的 HandlerAdapter。
// 使用 Thymeleaf 作为视图解析器的配置
@Bean
public ViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView modelAndView = new ModelAndView("userList");
modelAndView.addObject("users", userService.listUsers());
return modelAndView;
}
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save(@ModelAttribute("user") User user) {
// 保存用户信息
userService.saveUser(user);
return "redirect:/user/list";
}
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public String handleException(Exception e) {
// 处理异常并返回错误页面
return "error";
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
}
}
// 通常不需要手动编写,Spring MVC 可以自动处理主题解析。
这些组件共同构成了 Spring MVC 的核心,它们使得开发人员能够以一种声明式和模块化的方式构建 Web 应用程序。通过这些组件,Spring MVC 能够处理 HTTP 请求,执行业务逻辑,并生成响应。
学习 SpringMVC,理解核心组件是重要的环节,通过理解核心组件来了解 SpringMVC的整个运行过程,以达到知其然知其所以然的效果,当然,你还需要结合源码的学习来更加深入的学习这个框架。今天的文章就到这里,欢迎关注威哥爱编程,技术道路上我们一起结伴前行。
99%CTO都是 Java 狂!
@好文推荐:
10个点介绍SpringBoot3工作流程与核心组件源码解析

找V哥

原文作者:Java架构栈;如有侵权,请联系管理员删除。