zoukankan      html  css  js  c++  java
  • springmvc搭建测试

    首先使用maven创建一个web项目,创建方法在之前已经写过了。下面进行简单的搭建测试

    需要导入的依赖有

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.zs</groupId>
        <artifactId>mvc</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
            <!--springmvc核心包-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>4.3.18.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>4.3.18.RELEASE</version>
            </dependency>
    
            <!--下面的是spring核心包,导入上面的包后,maven会自动导入下面的spring核心包-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>4.3.18.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.3.18.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>4.3.18.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>4.3.18.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>4.3.18.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>4.3.18.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.0</version>
            </dependency>
        </dependencies>
    </project>
    pom.xml

    然后在java文件夹下创建控制器类

    package com.zs.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    /**
     * @controller注解表明这个类是一个控制器类
     */
    @Controller
    public class DemoController {
    
        /**
         * @RequestMapping()映射请求地址,通过地址找到要执行的方法,可以加在类上
         * @return
         */
        @RequestMapping("/login")
        public String login() {
            /**
             * 返回字符串时,会自动根据springmvc的视图解析器,添加前缀和后缀
             */
            return "index";
        }
    }
    controller

    创建springmvc的配置文件:

    <?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.zs.controller"/>
    
        <!--配置spring-mvc处理器映射器
            作用:指定怎样才能找到spring-mvc的控制器controller
            controller是spring-mvc的控制器,相当于之前学习的servlet
            之前处理请求都是在servlet中,在spring mvc中处理请求在控制器里,项目会有很多的控制器,
            处理请求是RequestMapperHeaderMapping这种实现定义了  通过@requestMapping来找到具体的控制器的方法
        -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
    
    
        <!--配置spring mvc的控制器适配器
            作用:定义了一个什么样的java类才算一个合格的控制器,在spring mvc底层有很多的适配器实现
            requestMappingHandlerAdapter定义了如果一个类加了@Controller注解就是一个合格的控制器-->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
    
    
        <!--配置spring mvc默认的jsp视图解析器
            在spring mvc中可以返回多种视图(相当于之前servelt中的jsp页面)
            可以返回jsp,或者json,或者模板文件,还可以返回word,excel,pdf等
            -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!--配置返回视图的前缀-->
            <property name="prefix" value="/WEB-INF/views/"/>
    
            <!--配置返回视图的后缀-->
            <property name="suffix" value=".jsp"/>
            <!--在控制器中return "login" 通过视图解析后就相当于return "/WEB-INF/views/login.jsp"-->
        </bean>
    
    </beans>
    spring-mvc.xml

    然后创建spring的配置文件,因为本次没有用到,所以内容为空

    <?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">
    
    </beans>
    applicationContext.xml

    下面配置web.xml文件

    <?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="4.0">
        <!--添加spring核心监听器,在项目启动时,创建spring工厂类的对象-->
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <!--手动指定spring的主配置文件的位置和名称,如果不指定该参数,则spring默认会从WEB-INF下寻找配置文件applicationContext.xml-->
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext.xml</param-value>
        </context-param>
    
        <!--设置spring-mvc的前端控制器
            作用:拦截指定请求,交给spring-mvc处理-->
        <servlet>
            <servlet-name>spring-mvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!--指定spring-mvc的主配置文件的位置和名称
                如果不指定该参数,spring会默认从WEB-INF/下加载[serlvet的name]-servlet.xml
                针对这个例子,生成的配置文件名称就是spring-mvc-servlet.xml-->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring-mvc.xml</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
            <servlet-name>spring-mvc</servlet-name>
            <!--拦截所有.do的请求-->
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>
    </web-app>
    web.xml

    在WEB-INF文件夹下创建views文件夹,创建页面index.jsp,然后运行tomcat服务器,在地址栏输入login.do请求,成功跳转到index.jsp,说明搭建成功

  • 相关阅读:
    explicit
    boolalpha 和 noboolalpha
    C++ 头文件一览
    C++ I/O库总结
    Error:collect2:ld returned 1 exit status (总结)
    常用目录的作用
    硬盘分区与硬软链接
    POJ3694 Network(Tarjan双联通分图 LCA 桥)
    2016"百度之星"
    2016"百度之星"
  • 原文地址:https://www.cnblogs.com/Zs-book1/p/11084973.html
Copyright © 2011-2022 走看看