Spring MVC框架:第一章:SpringMVC概述及初步体会SpringMVC使用过程

第一节 SpringMVC在知识体系中的坐标

在我们学习框架知识以前,JavaSE+JDBC+JavaWeb+SQL这样的技术组合已经可以实现任何业务逻辑了。为什么还要学习SSM这样的框架呢?

很简单,MyBatis是对JDBC的封装,而SpringMVC是对JavaWeb的封装。
其中JavaWeb和SpringMVC提供了表述层(或称表示层)的解决方案,而JDBC和MyBatis是持久化层的解决方案。那Spring到哪去了?Spring中的IOC容器为我们的整个项目管理组件,而我们配置的各种bean、切面类、事务通知等等其实都是在容器中工作的组件,我们开发人员的任务其实就两件事:开发组件、组装组件。

在这里插入图片描述

第二节 使用SpringMVC前后代码的对比

使用原生ServletAPI获取请求参数:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userName = request.getParameter(“userName”);
System.out.println(“userName=”+userName);
}

使用SpringMVC获取请求参数:

@RequestMapping("/user/login")
public String login(@RequestParam(“userName”) String userName){
System.out.println(“userName=”+userName);
return “result”;
}

这仅仅是其中一个例子,使用SpringMVC后确实大大简化了表述层开发。

通过这个HelloWorld,大家初步体会SpringMVC使用过程中的总体流程。
第一步 创建DynamicWebProject项目
第二步 导入jar包

commons-logging-1.1.3.jar
spring-aop-4.0.0.RELEASE.jar
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
spring-web-4.0.0.RELEASE.jar
spring-webmvc-4.0.0.RELEASE.jar

第三步 在web.xml中配置SpringMVC的前端控制器:DispatcherServlet

<servlet>
	<servlet-name>DispatcherServlet</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring-mvc.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>DispatcherServlet</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

第四步 在src目录下创建Spring配置文件spring-mvc.xml并指定自动扫描的包

<context:component-scan base-package="com.mvc.controllers"/>

注意:Spring配置文件的文件名必须和web.xml中classpath:后一致,否则将无法找到。
第五步 在自动扫描的包下创建类HelloHandler

import org.springframework.stereotype.Controller;
@Controller
public class HelloHandler {

}

第六步 在HelloHandler类中声明一个方法用来处理请求

@RequestMapping("/hello")
public String hello() {
System.out.println(“SpringMVC处理了这个请求!”);
return “/WEB-INF/pages/result.jsp”;
}

 

 

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120382292

posted @   忘川信使  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示