SpringMVC个人学习总结

本文详细介绍了SpringMVC的学习过程,从回顾servlet开始,深入到SpringMVC的配置、运行原理、注解开发、Restful风格、重定向与转发、参数接收与回显、乱码处理、JSON数据交互、拦截器以及文件上传下载。内容涵盖从基础到进阶,适合Java Web开发者学习。
摘要由CSDN通过智能技术生成

目录

1、回顾servlet

2、初识SpringMVC

配置SpringMVC

3、SpringMVC运行原理

4、使用注解开发SpringMVC

5、Restful风格

6、重定向与转发

7、接收前端参数和参数回显

1.直接接收

2.当提交的域名称和处理方法的参数名不一致时

3.数据显示到前端

8、乱码问题

9、JSON

Controller返回JSON数据

FastJson

10、拦截器与文件上传

1、拦截器

2、文件上传和下载 


1、回顾servlet

        1.导入Maven依赖

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.13</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

2.编写servlet类,处理用户请求

3.编写Hello.jsp,在WEB-INF下新建一个jsp文件夹,新建一个hello.jsp

4.编写一个form表单提交

6.在web.xml中配置servlet

6.配置Tomcat,并启动测试

2、初识SpringMVC

SpringMVC的特点:

        1、轻量级,简单易学

        2、高效,基于请求响应的MVC框架

        3、与Spring兼容性好,无缝结合

        4、约定大于配置

        5、功能强大:RESTful、数据验证、格式化、本地化、主体等

        6、简洁灵活

配置SpringMVC

1.新建一个Moudle,添加web支持

2.确定导入了SpringMVC依赖

3.配置web.xml,注册DispatcherServlet

    <!--配置DispatcherServlet:这个是SpringMVC的核心;请求发布器,前端控制器-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--DispatcherServlet要绑定的spring的配置文件-->
        <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>
    <!--
    在SpringMVC中,/  &  /*
    /:只匹配所有请求,不会去匹配jsp页面
    /*:匹配所有请求,包括jsp页面
    -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

4.编写springmvc的配置文件,名称为springmvc-servlet.xml,

5.添加处理映射器

6.添加处理适配器

7.添加视图解析器

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--处理器映射器-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!--处理器适配器-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!--视图解析器:模板引擎 Thymeleaf  Freemarker-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>


</beans>

8.编写操作业务Controller,要么实现Controller接口,要么增加注解,需要返回一个ModelAndView,装数据,封视图

9.将自己的类交给springIOC容器,注册Bean

10.写要跳转的jsp页面,显示ModelAndView存放的数据,以及我们的正常页面

11.配置tomcat启动测试

可能遇到的问题:访问出现404,排查步骤:

1. 查看控制台输出,看一下是不是缺少了什么jar包

2.如果jar包存在,显示无法输出,就在IDEA项目发布中,添加lib依赖

3.重启Tomcat

3、SpringMVC运行原理

1、用户发起请求,前端控制器DispatcherServlet接收请求并且拦截请求

2、前端控制器DispatcherServlet调用处理映射器HandlerMapping,映射器根据请求的url查找具体的Handler

3、HandlerExecution就是一个具体的Handler,作用为根据url查找控制器

4、HandlerExecution将解析后的信息返回给DispatcherServlet

5、DispatcherServlet再讲接收到的信息给处理适配器HandlerAdapter,按照特定的规则去执行Handler

6、将Handler交给具体的控制器Controller去执行

7、Controller把具体执行的信息返回给HandlerAdapter,例如ModelAndView

8、HandlerAdapter再把接收到的视图逻辑名或者模型返回给DispatcherServlet

9、DispatcherServlet调用视图解析器ViewResolver解析从适配器那里接收到的视图逻辑名

10、ViewResolver将解析的视图逻辑名返回给DispatcherServlet

11、DispatcherServlet根据接收到的视图逻辑名结果,调用具体的视图

12、最后将视图呈现给用户

4、使用注解开发SpringMVC

1.新建一个Model,添加web支持

2.导入依赖(父类实现了就可跳过这一步)

3.配置web.xml

        注意点:

                1、注意web.xml版本,要最新版

                2、检查项目结构中是否有lib文件,若没有则创建并导入jar包

注册DispatcherServlet

关联SpringMVC配置文件

启动级别为1

路径映射为/ 【不要用/*,会报404】

死代码,配置就用这个 

4.添加SpringMVC配置文件

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值