SpringMVC入门案例分析及实现

入门案例分析:

    1.执行流程
        1.当启动tomcat服务器时,由于配置了load_on_startup标签,所以会创建DispatcherServlet对象,就会加载springmvc.xml配置文件
        2.开启了注解扫描,HelloController对象就会被创建
        3.从index.jsp发送请求,请求会先到达DispatcherServlet核心控制器,根据配置@RequestMapping注解找到执行的具体方法
        4.根据方法的返回值,再根据配置的视图解析器,去指定的目录下查找指定名称的jsp文件
        5.Tomcat服务器渲染页面,做出响应
    2.流程图
在这里插入图片描述
    3.RequestMapping注解
        1.RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系
        2.RequestMapping注解可以作用在方法和类上
            作用在类上:第一级的访问目录
            作用在方法上:第二级的访问目录
            细节:/表示应用的根目录开始
                    ${pageContext.request.contextPath}也可以省略不写,但是路径上不能写/
        3.RequestMapping属性:
            path:指定请求路径的url
            value:同path一样
            method:指定该方法的请求方式,是枚举类型
            params:指定限制请求参数的条件
            headers:发送的请求中必须包含的请求头

SpringMVC的入门程序案例

    1.创建WEB工厂,引入开发的jar包,需要导入的坐标如下

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
  <spring.version>5.0.2.RELEASE</spring.version>
</properties>

<dependencies>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

    2.配置核心的控制器(DispatcherServlet)
        在web.xml配置文件中

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!--springMVC的核心控制器-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--配置Servlet的初始化参数哦,读取springmvc的配置文件,创建spring容器-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springMVC.xml</param-value>
    </init-param>
    <!--配置servlet启动时加载对象-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

    3.编写springmvc.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       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
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
    <!--开启注解扫描-->
    <context:component-scan base-package="cn.ycl"></context:component-scan>
    <!--视图解析器对象-->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <!--开启springMVC框架对注解的支持-->
    <mvc:annotation-driven/>
</beans>

    4.编写index.jsp和HelloController控制器类
        1.index.jsp

<body>
    <h3>入门程序</h3>
    <a href="hello">入门程序</a>
</body>

        2.HelloController

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//控制器类
@Controller
public class HelloController {
    @RequestMapping(path = "/hello")
    public String sayHello(){
        System.out.println("Hello,springMVC!!");
        return "success";
    }
}

    5.在WEB-INF目录下创建pages文件夹,编写success.jsp的成功页面

<h3>返回成功</h3>

    6.启动服务器进行测试

发布了21 篇原创文章 · 获赞 2 · 访问量 261

猜你喜欢

转载自blog.csdn.net/weixin_45636641/article/details/104174370