<span>第一个SpringMVC程序 (配置版)</span>

通过配置版本的MVC程序,可以了解到MVC的底层原理,实际开发我们用的是注解版的!
1.新建一个普通Maven的项目,然后添加web的支持
2.导入相关的SpringMVC的依赖
3.配置web.xml, 注册DispatherServlet

<?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">

<!--    注册DispatcherServlet-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--        关联一个springmvc的配置文件:-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>

<!--        启动级别-->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!--
           这里需要注意一下
        / 匹配所有请求:(不包括.jsp)
        /* 匹配所有请求: (包括.jsp)
        -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

4.编写SpringMVC的配置文件!在resources目录下创建,你自己定义的配置文件的名字

<?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>

5.添加 处理映射器、处理器适配器和视图解析器

<?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">

<!--    添加处理映射器-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!--    添加处理适配器-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

<!--    添加视图解析器:DispatcherServlet给它的ModelAndView
            1.获取了ModelAndView的数据
            2.解析了ModelAndView的视图名字
            3.拼接视图的名字,找到了对应的视图
            -->
    <bean id="InternalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--     配置前缀   -->
        <property name="prefix" value="/WEB-INF/jsp/"/>
<!--        配置后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>

  

</beans>

6.编写操作业务的Controller,实现Controller接口或者增加注释,我们这里实现Controller接口;需要返回一个ModelAndView,装数据,封视图


package com.king.controller;


import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
       //模型和视图 ModelAndView
        ModelAndView modelAndView = new ModelAndView();

        //封装对象,放在ModelAndView中。
        modelAndView.addObject("msg","HelloSpringMVC");
        //封装要跳转的视图,放在ModelAndView中
        modelAndView.setViewName("hello");
        //返回一个ModelAndView
        return modelAndView;
    }
}


7.将编写的类,在配置文件里面注册bean

<bean id="/hello" class="com.king.controller.HelloController"/>

8.编写跳转的jsp页面,获取ModelAndView存放的数据

<%--
  Created by IntelliJ IDEA.
  User: KING
  Date: 2020/5/24
  Time: 12:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

${msg}

</body>
</html>

9.配置Tomcat,启动测试

【可能会遇到访问出现404,解决方法】

  1. 查看是否缺少jar包

3.在lib文件夹下添加依赖

4.全部添加

5.重新启动Tomcat,进行测试!

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务