• (Spring笔记)基于注解的SpringMVC开发步骤


    目录

    一、新建webapp模板maven项目

    二、修改项目属性和目录

    三、修改pom.xml

    四、添加springmvc.xml

    五、新建web.xml

    六、注册springMVC

    七、重建index.jsp

    八、开发Servlet

    九、配置Tomcat

            (1)验证重点说明

                            ——Spring源码的Servlet

                            ——Tomcat10+的Servlet

            (2)使用Tomcat 10错误演示

            (3)使用Tomcat 9演示

    十、总结


    一、新建webapp模板maven项目


    二、修改项目属性和目录

           默认只有src/main/webapp,其他没有,需手动添加缺失的test和java,并设置目录属性(目录变色)——>resources(两套)

            java目录下,再创建一个controller包用于存放控制器——>servlet


    三、修改pom.xml

            (1)添加SpringMVC的依赖

            (2)添加Servlet的依赖

            (3)添加资源扫描resources

    1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    3. <modelVersion>4.0.0modelVersion>
    4. <groupId>com.dhrj.java.zsitkinggroupId>
    5. <artifactId>SpringMVCDemo01artifactId>
    6. <version>1.0version>
    7. <packaging>warpackaging>
    8. <name>SpringMVCDemo01 Maven Webappname>
    9. <properties>
    10. <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    11. <maven.compiler.source>1.8maven.compiler.source>
    12. <maven.compiler.target>1.8maven.compiler.target>
    13. properties>
    14. <dependencies>
    15. <dependency>
    16. <groupId>junitgroupId>
    17. <artifactId>junitartifactId>
    18. <version>4.13.2version>
    19. <scope>testscope>
    20. dependency>
    21. <dependency>
    22. <groupId>org.springframeworkgroupId>
    23. <artifactId>spring-webmvcartifactId>
    24. <version>5.3.21version>
    25. dependency>
    26. <dependency>
    27. <groupId>javax.servletgroupId>
    28. <artifactId>javax.servlet-apiartifactId>
    29. <version>4.0.1version>
    30. <scope>providedscope>
    31. dependency>
    32. dependencies>
    33. <build>
    34. <resources>
    35. <resource>
    36. <directory>src/main/javadirectory>
    37. <includes>
    38. <include>**/*.xmlinclude>
    39. <include>**/*.propertiesinclude>
    40. includes>
    41. resource>
    42. <resource>
    43. <directory>src/main/resourcesdirectory>
    44. <includes>
    45. <include>**/*.xmlinclude>
    46. <include>**/*.propertiesinclude>
    47. includes>
    48. resource>
    49. resources>
    50. build>
    51. project>

    四、添加springmvc.xml

            webapp目录下创建用于测试控制器跳转到资源,目录为“admin”,文件为“main.jsp” ,当核心控制器响应请求成功后,跳转到main.jsp,在 页面上显示文本信息“main........

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <html>
    3. <head>
    4. <title>Titletitle>
    5. head>
    6. <body>
    7. main.........
    8. body>
    9. html>

            resources目录下,创建springmvc.xml配置文件

                    * 注解开发,添加包扫描

                    * 配置视图解析器

    1. <beans xmlns="http://www.springframework.org/schema/beans"
    2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xmlns:context="http://www.springframework.org/schema/context"
    4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    5. <context:component-scan base-package="com.dhrj.java.zsitking.controller"/>
    6. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    7. <property name="prefix" value="/admin/"/>
    8. <property name="suffix" value=".jsp"/>
    9. bean>
    10. beans>

    五、新建web.xml

            删除默认旧的web.xml(版本太低),创建新的web.xml

             先改个新名字,否则无法新建成功,会与旧名称重叠。——>先将生成的新web1.xml,覆盖掉旧的web.xml,再将web1.xml重名(shirt+F6)为web.xml


    六、注册springMVC

            在web.xml文件中注册springMVC框架——>所有的web请求都是基于servlet

            (1)注册SpringMVC核心处理器——>中央控制器

            (2)引用SpringMVC核心配置文件

            (3)通过别名关联匹配Servlet控制器

    1. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    4. version="4.0">
    5. <servlet>
    6. <servlet-name>springmvcservlet-name>
    7. <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    8. <init-param>
    9. <param-name>contextConfigLocationparam-name>
    10. <param-value>classpath:springmvc.xmlparam-value>
    11. init-param>
    12. servlet>
    13. <servlet-mapping>
    14. <servlet-name>springmvcservlet-name>
    15. <url-pattern>*.actionurl-pattern>
    16. servlet-mapping>
    17. web-app>

    七、重建index.jsp

            删除默认旧的index.jsp,重新创建index.jsp并修改。

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <html>
    3. <head>
    4. <title>Titletitle>
    5. head>
    6. <body>
    7. <a href=${pageContext.request.contextPath}/demo.action>访问Tomcat服务器a>
    8. body>
    9. html>

             在页面中给定一个超链接,服务器请求,指向Servlet控制器webg.xml中,url-pattern设置匹配API接口后缀为action,若想交由SpringMVC的中央控制器处理的话,必须满足后缀规范的条件。


    八、开发Servlet

            一个普通的类,使用@Controller交由Spring容器IOC创建管理对象。

            因SpringMVC的中央控制器处理的是一个普通的类,也就是被@Controller标识的普通类,且最终调用是一个普通方法,也就是普通类中的普通方法,此普通类的返回值即为响应服务器请求的数据————>综上所述,普通方法即为API接口,而普通类中,可以有多个普通方法,也就意味着可以开发多个API接口,全部都是通过中央控制器“DispatcherServlet

    ”来进行调度。

            普通方法的规范:

            (1)访问权限是public

            (2)方法的返回值任意

            (3)方法名称任意

            (4)方法可以没有参数,如果有可是任意类型

            (5)要使用@RequestMapping注解来声明一个访问的路径

    1. @Controller //交给Spring去创建对象
    2. public class DemoAction {
    3. @RequestMapping(value = "/demo.action")
    4. public String demo() {
    5. System.out.println("demo()执行......");
    6. return "main";
    7. }
    8. }

             重点注意:@RequestMapping(value = "/demo.action"),必须要带上,本人亲测,不带上出现404错误,网上参考资料有的说不用带,web.xml中设置过“*.action”,可是我带上就能正常访问,不带就404。

            目前不清楚是Spring版本问题,还是Tomcat版本问题。


    九、配置Tomcat

            重点说明:千万不要使用Tomcat10+版本,因为Spring框架最高支持Tomcat9及以下版本。

            (1)验证重点说明

                            ——Spring源码的Servlet

                            ——Tomcat10+的Servlet

             验证结论:当Tomcat10提供jakarta.servlet与Spring支持javax.servlet类的包路径冲突时,会发生DispatcherServlet相关的500异常错误。请务必使用Tomcat 9及其以下版本。

            (2)使用Tomcat 10错误演示

            (3)使用Tomcat 9演示


    十、总结

    仅自己学习记录,如有错误,敬请谅解~,谢谢~~~

  • 相关阅读:
    机器学习中的无监督学习是什么?
    clickhouse分组排序,行号,取特定数量数据
    IO多路转接之select和poll
    【好文推荐】openGauss索引推荐功能测试
    iOS的应用生命周期
    前端必备的25个CLI命令行
    fastadmin如何本地安装
    (十二)Jmeter测试dubbo接口
    PTAsql补题(1)
    如何保障物联网平台的安全性与健壮性
  • 原文地址:https://blog.csdn.net/qq_39038178/article/details/125886251