第一次配置SpringMVC

1.在web.xml中配置前端控制器等

dispatcher /dɪˈspætʃər/

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

  <!--1.注册DispatcherServlet-->
  <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <!--关联一个springmvc的配置文件:【servlet-name】-servlet.xml-->
      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc-servlet.xml</param-value>
      </init-param>
      <!--启动级别-1-->
      <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>

2.1来到main目录下的资源目录,新建一个xml文件 文件名称: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"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd">
   <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

</beans>

4.如果想要修改xml文件的名称,记得将1.中下行也进行修改

<param-value>classpath:springmvc-servlet.xml</param-value>

2.2然后添加 映射处理器

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

2.3添加 处理器适配器

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

2.4添加视图解析器

<!--视图解析器:DispatcherServlet给他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
    <!--前缀-->
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <!--后缀-->
    <property name="suffix" value=".jsp"/>
</bean>

3.接下来我们要操作业务Controller,要么实现Controller接口,要么增加注解;需要返回一个ModelAndView,装数据,封视图;(这里我们使用的是继承接口)

package com.kuang.controller;

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

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

//注意:这里我们先导入Controller接口
public class HelloController implements Controller {
    
    

   public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    
    
       //ModelAndView 模型和视图
       ModelAndView mv = new ModelAndView();

       //封装对象,放在ModelAndView中。Model
       mv.addObject("msg","HelloSpringMVC!");
       //封装要跳转的视图,放在ModelAndView中
       mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
       return mv;
  }
   
}

4.将自己的类交给SpringIOC容器,注册bean(就是回到springmvc-servlet.xml ,配置如下 )

<!--Handler-->
<bean id="/hello" class="com.kuang.controller.HelloController"/>

(也就是如果之后用户输入一个"hello",前端控制器就会跟着这行找到HelloController这个类,然后这个类去刨拉springmvc-servlet.xml中的前后缀,把自己视图展示的完整的路径刨拉出来

mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp

然后发现"msg"匹配,显示内容HelloSpringMVC!)


5.写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面;

在WEB-INF下创建一个jsp包,然后写一个"hello.jsp"界面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
   <title>Kuangshen</title>
</head>
<body>
${
    
    msg}
</body>
</html>

6.配置Tomcat 启动测试!


遇到过的问题:

在启动Tomcat,输入/hello 之后,遇到了404问题

在查看整个流程么得问题之后,发现是如下问题

1.点击左上角的File点开Project Structure,再点击Artifacts,找到springmvc-02-hellomvc:war exploded2(自己的项目模块名),发现没有jar包(之前有导入依赖,这应该是idea的问题,或者别的什么我不知道的)

所以我在classes文件夹下,新建立lib目录,导入所有jar包

然后再重新运行,就可以了

猜你喜欢

转载自blog.csdn.net/qq_43522126/article/details/108406452
今日推荐