SpringMVC笔记第一篇-hello

1.创建一个动态web工程

在这里插入图片描述
2 导入需要的jar包:

spring-aop-5.2.5.RELEASE.jar
spring-beans-5.2.5.RELEASE.jar
spring-context-5.2.5.RELEASE.jar
spring-core-5.2.5.RELEASE.jar
spring-expression-5.2.5.RELEASE.jar
spring-jcl-5.2.5.RELEASE.jar
spring-web-5.2.5.RELEASE.jar
spring-webmvc-5.2.5.RELEASE.jar
  1. 在 web.xml中配置 前端控制器
<!--
    DispatcherServlet 是前端控制器.用于接收全部的请求.然后分发给不同资源处理.<br/>
    SpringMVC框架也需要一个 Spring 容器
-->
<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--
        配置 SpringMVC 框架 的 Spring 容器配置文件路径
        如果把springmvc文件名改成 dispatcher-servlet.xml
        则这类可以不用配置 contextConfigLocation
        
    -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springmvc.xml</param-value>
    </init-param>
	<!--
    让前端控制器在web工程启动的时候创建,并创建Spring容器.
	-->
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <!--
        / 斜杠 :表示接收全部非jsp请求
    -->
    <url-pattern>/</url-pattern>
</servlet-mapping>

4.在src 源码目录下创建Spring的配置文件SpringMVC.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 
       https://www.springframework.org/schema/context/spring-context.xsd">

    <!--配置包扫描 这里表示扫描com下的所有子包-->
    <context:component-scan base-package="com"></context:component-scan>

</beans>

4.1 SpringMVC的配置文件的另一种存放方式:
一 : 放在源码目录下 ( 后面Maven 就存在resources目录 )
需要在web.xml中去配置 配置文件的路径 , 也就是以下的配置内容:



<!--
    配置 SpringMVC 框架 的 Spring 容器配置文件路径
-->
<init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:springmvc.xml</param-value>
</init-param>

4.2 SpringMVC的配置文件 - 存放方式二
二 : 放在WEB-INF目录下 ( 不需要到web.xml中去配置路径 )
规则如下: 如果SpringMVC的配置文件 放到WEB-INF目录下.则它的配置文件名必须遵守规则如下:
SpringMVC配置文件名: + -servlet.xml
在这里插入图片描述

  1. 创建Controller
package com.geeklin.controller;

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

/**
 *@Controller 注解作用相当于 : 
 *  <bean id="helloController" class="com.atguigu.controller.HelloController" /> 
 *  @Controller 表示Controller控制器 
 */
 
@Controller
public class HelloController {
    /**
     * @RequestMapping 可以配置一个请求地址给当前方法 
     *       /    表示请求地址为: http://ip:port/工程路径/    *映射*   到web目录  
     *    /hello  表示地址为: http://ip:port/工程路径/hello 
     */
    @RequestMapping(value = "/hello")
    public String hello(){
        System.out.println("SpringMVC Hello 程序");
        // 返回值表示跳转的路径   ===  SpringMVC底层默认是以 请求转发 来进行页面的跳转
        return "/pages/ok.jsp";
    }
}
  1. 如果配置了视图解析器的话,就可以省return 后的前后缀。

在springmvc.xml中配置:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--  比如,这个完整的返回值: /pages/ok.jsp
		文件名之前的内容就是前缀,文件名后面的内容就是后缀。
        /pages/  是前缀           .jsp      是后缀
       在有前缀,后缀的情况下.我们又管文件名叫 : 视图名 --> ok
     -->
    <!-- prefix 表示前缀 -->
    <property name="prefix" value="/pages/" />
    <!-- suffix 表示前缀 -->
    <property name="suffix" value=".jsp" />
</bean>

解析:
在有视图解析器时, Controller 控制器的业务方法中 ,返回值 只需要写 视图名 即可.
当有了视图解析器之后 , Controller 控制器中的业务方法的返回值 都会和 视图解析器中的前缀和后缀做 字符串拼接操作,再得到完整的路径.
ok 就会和前缀后缀做拼接:前缀+视图名+后缀 得到完整的请求地址.
视图名是 : ok
前缀是 : /pages/
后缀是 : .jsp
完整的路径是 : /pages/ok.jsp

@RequestMapping(value = "/hello")
public String hello(){
    System.out.println("SpringMVC Hello 程序");
    // 返回值表示跳转的路径   ===  SpringMVC底层默认是以 请求转发 来进行页面的跳转
    return "ok";
}

以上就是创建第一个SpringMVC的hello实例,喜欢的话点个赞~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值