一步一步配置SpringMVC(范例好学生)

1. 配置项目

新建IDEA 的一个java Maven项目,删除src文件夹(为了应用多模块开发)。

然后导入依赖项,pom.xml:

<?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>org.example</groupId>
    <artifactId>b_spring_mvc</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>springmvc_1_annotation</module>
    </modules>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.9.RELEASE</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.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
</project>

2 新建模块

在这里插入图片描述

添加Web 依赖

在这里插入图片描述

然后就会在模块内部添加了一个web文件夹,打开web/WEB-INF/web.xml文件。

3 配置Servlet

web/WEB-INF/web.xml文件中配置Servlet的解释器。

<?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 MVC 的调度器 DispatcherServlet-->
    <servlet-mapping>
        <servlet-name>my_servlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <!--    我们定义的-->
    <servlet>
        <servlet-name>my_servlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <!--设置 Spring 配置文件,这个文件中配置我们的Bean-->
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!--设置启动等级 为一级:随服务器一起启动难-->
        <load-on-startup>1</load-on-startup>
    </servlet>
</web-app>

4 配置 Spring

根据我们之前设置的<param-value>classpath:springmvc-servlet.xml</param-value>,创建一个对应的文件src/main/resources/springmvc-servlet.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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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 http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
	<!--设置Http请求的Handler为默认的Handler DefaultServletHttpRequestHandler -->
    <mvc:default-servlet-handler/>
    <mvc:annotation-driven/>
	<!--可扫描到的Bean的位置,保证这个目录下的注解Bean可以被扫描到-->
    <context:component-scan base-package="com.thriver.controller" />
	<!--视图解析器,用于解析渲染Controller传回来的ViewAndModel -->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

5 写一个控制器示例

Controller控制器是真正对客户请求作出相应的地方。在src/main/java/com/thriver/controller目录下新建一个HelloController.java类,写入:

@Controller
public class HelloController {
    // 此注解表明:这个函数相应一个"/hello"Handler类型的请求,相当于xml配置的一个Bean
    @RequestMapping("/hello")
    String gethello(Model model){
        model.addAttribute("msg","sanchuan");
        return "hello";
    }
}

6 部署Tomcat

首先下载一个Tomcat[https://tomcat.apache.org/],然后在IDEA中绑定这个Tomcat,在IDEA右上角打开Edit Configurations
在这里插入图片描述
选择Tomcat的配置模板:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i7BLdCC9-1598707452113)(02-SpringMVC 注解配置开发.assets/image-20200829210818650.png)]
然后配置Tomcat服务器的位置:
在这里插入图片描述

7 部署程序到Tomcat服务器

把我们刚才写的SpringMVC的代码配置进TomCat,也是在之前的位置:
在这里插入图片描述

把访问的包名称改为"/",这样就可以直接访问http://localhost:8080/hello,否则就要
在这里插入图片描述

8 把运行程序依赖的库打包进Tomcat

如果不把依赖的库打包进去,运行会出错的。
在这里插入图片描述
在这里插入图片描述

9 运行

点集IDEA右上角的运行按钮,程序就直接部署在Tomcat服务器中,并启动服务器。

浏览器输入http://localhost:8080/hello就可以看到控制器代码中输出的结果:

“你好 sanchuan”
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值