SpringMVC


 


这里的servlet可以分为两部分,一部分是共有行为,一部分是特有行为。一个web中有多个servlet,那我们是否可以抽取一下公共的呢?

当servle分为两个部分时,客户端发起请求然后到Tomcat服务器里的TomCat引擎,然后直接到了servlet的共有行为,然后才到我们的特有行为pojo,因为共有行为被抽取了,所以我们只需要自己实现特有行为即可。这里的共有行为其实就是前端控制器,SpringMVC的前端控制器就是servlet。

 

下面看一下SpringMVC的开发步骤:


 

1. 导入SpringMVC的坐标

  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.0.5.RELEASE</version>
    </dependency>

2. 配置SpringMVC核心控制器DispathcerServlet

<!--    配置SpringMVC前端控制器-->
        <servlet>
            <servlet-name>DispatcherServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>

        <servlet-mapping>
            <servlet-name>DispatcherServlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

3. 创建Controller视图

 
创建好的方法要放到spring容器中,所以写上@Controller
又因为你请求的地址和你的方法要有一个关系,所以在这里要写到@RequestMapping,这个翻译过来就是请求映射了。

4. 使用注解配置Controller中的业务方法的映射地址

@Controller
public class UserController {
    @RequestMapping("/quick")
    public String save(){
        System.out.println("Controller save running......");
        return "success.jsp";
    }
}

以前用javaweb是重定向啥的,现在直接return 一个jsp调到这个视图中是不是方便很多。
 
这里写完注解但是Spring是不知道的,所以需要组件扫描。之前spring的配置文件applicationContext.xml中有一个<context:conponent-scan>用来配置组件扫描,但是在springmvc中要写在spring-mvc.xml中。
 

5. 配置SpringMvc核心文件spring-mvc.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"
       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">

<!-- Controller   配置组件扫描-->
<context:component-scan base-package="com.itheima.controller" />
</beans>

 
那么配置好spring-mvc这个文件了,但是还不知道在哪儿?spring-mvc这个文件就是给前端控制器用的,在控制器里告诉它。

<!--    配置SpringMVC前端控制器-->
        <servlet>
            <servlet-name>DispatcherServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring-mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>

        <servlet-mapping>
            <servlet-name>DispatcherServlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

可以看到访问映射时跳转到了success.jsp页面并在控制台输出



 

 

posted @ 2022-03-27 14:39  长情c  阅读(39)  评论(1)    收藏  举报