使用注解开发SpringMVC,也是以后开发的模板(重点)
注解版配置SpringMVC(重点)
第一步:
新建一个moudel,添加web支持!建立包结构top.lostyou.controller
第二步:
由于maven可能存在资源过滤问题,我们将配置完善
<!--在build中配置resources,防止资源导出失败问题--> <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
第三步:
在spring的核心框架中引入相关依赖
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.24</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <!--EL表达式,前端--> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
第四步:配置web.xml
- 注意web.xml版本,要是最新版
- 注册DispatcherServlet
- 关联SpringMVC的配置文件
- 启动级别为1
- 映射路径为 / 【不要写 /* 会404】
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="3.1" metadata-complete="true"> <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> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
第五步配置springmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!--自动扫描包,让指定下的注解生效,由IOC容器统一管理--> <context:component-scan base-package="top.lostyou.controller"/> <!--让springMVC不处理静态资源 .css .js .html .mp3 .mp4--> <mvc:default-servlet-handler/> <!--annotation-driven配置帮助我们自动完成以上两个实例注入--> <mvc:annotation-driven/> <!--视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!--前缀--> <property name="prefix" value="/page/"/> <!--后缀--> <property name="suffix" value=".jsp"/> </bean> </beans>
第六步:创建一个controller
编写一个Java控制类:top.lostyou.controller.helloControoler
package top.lostyou.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller //自动在spring容器中注入(<bean>) public class HelloController { @RequestMapping("/msf") // 有关/msf的请求都会提交到这里 public String hello(Model model){ //封装数据 model.addAttribute("msf","I am glod!"); return "msf";//会被视图解析器处理,然后字符拼接成一个msf.jsp页面 } }
- @Controller 是为了让spring IOC容器初始化时自动扫描到;
- @RequestMapping 是为了映射请求路径,这里因为类与方法上都有映射路径所以访问时应该是/HelloController/msf,如果类上没有就是 /msf
- 方法声明中Model类型的参数是为了把Action的数据带到视图层;
- 方法返回的结果名称是msf,加上配置文件的前后缀就变成了/page/msf.jsp
第七步:编写一个jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>msf</title> </head> <body> ${msf} <%--取出后端封装的数据--%> </body> </html>
第八步:启动Tomcat,测试
小结:
注解实现springmvc的开发步骤其实十分简单:
- 新建一个web项目
- 导入相关的jar包
- 编写web.xml,注册DispatcherServlet
- 编写springmvc配置文件
- 接下来就是去创建对应的控制类,controller
- 最后完善前端的视图和controller的对应关系
- 测试调试运行
使用springMVC必须要的配置三大件:
处理器映射器,处理器适配器,视图解析器
通常我们只需要手动配置视图解析器,而处理器映射器和处理器适配器只需要开启注解驱动即可,而省去了大段的xml配置
插播一条消息:我学习的up主:狂神说Java的秦疆老师,在2023年3月5日发布新文,go语言的讲解将是他的封山之作。