【学习笔记】SpringMVC第一个程序
-
新建一个项目,导入依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>6.0.3</version> </dependency>
-
给这个项目添加web支持
-
配置web.xml,在其中注册DispatchterServlet,并且关联springmvc配置文件springmvc-servlet.xml
<!-- 1.注册DispatcherServlet--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> </servlet> <!-- 匹配所有请求--> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
DispatchterServlet是spring写好的,我们可以直接注册使用
-
在spring配置文件(springmvc-servlet.xml)中配置
-
添加处理映射器
-
添加处理器适配器
-
添加视图解析器
<!--添加处理映射器--> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!--添加处理器适配器--> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <!--添加视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver"> <!--前缀--> <property name="prefix" value="/WEB-INF/jsp/"/> <!--后缀--> <property name="suffix" value=".jsp"/> </bean>
视图解析器就是,给请求的路径,加上前缀和后缀,因为请求的路径并不是完整的路径
原本转发或重定向时:
req.getRequestDispatcher("/WEN-INF/jsp/test.jsp").forword(req,resp);
现在只需要写 test 即可
-
-
编写业务Controller,需要实现接口Controller,返回一个ModelAndView
public class HelloController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { //ModelAndView 模型和视图 ModelAndView mv = new ModelAndView(); //封装对象,放在ModelAndView中,在jsp中可以直接取 mv.addObject("msg","HelloSpringMVC"); //封装要跳转的视图,即jsp,这里就是与web.xml中的拼接 mv.setViewName("hello"); return mv; } }
-
将自己写的HelloController,注册到spring容器中
<bean id="/hello" class="com.wang.conltroller.HelloController"/>
-
编写要跳转的jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>springMVC</title> </head> <body> ${msg} </body> </html>
遇到的问题:找不到资源,报404,原因就是IDEA中没有我们在pom.xml中导入的依赖
我们需要手动将jar包添加到项目lib目录中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!