spring mvc简单介绍xml版

spring mvc介绍:其实spring mvc就是基于servlet实现的,只不过他讲请求处理的流程分配的更细致而已。

spring mvc核心理念的4个组件:

1.DispatcherServlet:负责接受所有的请求,就像普通的servlet一样,此接口只是简单的负责处理接受请求。

2.HandlerMapping:当接受到请求后,由此组件负责解析请求,知道该请求要访问那个具体的Controller(具体的Servlet)。

3.HandlerAdaper:负责调用具体的Controller(Servlet)。将HandlerMapping解析出来的值传给HandlerAdper由HandlerAdper去调用具体的逻辑。

4.ViewResovler:当具体的逻辑执行完毕后负责将当前请求展现给客户端,或者请求转发、重定向等操作。

上代码:

使用的jar包:

  commons-logging-1.1.3.jar
j  sp-api.jar
  servlet-api.jar
  spring-aop-4.1.6.RELEASE.jar
  spring-aspects-4.1.6.RELEASE.jar
  spring-beans-4.1.6.RELEASE.jar
  spring-context-4.1.6.RELEASE.jar
  spring-core-4.1.6.RELEASE.jar
  spring-expression-4.1.6.RELEASE.jar
  spring-jdbc-4.1.6.RELEASE.jar
  spring-tx-4.1.6.RELEASE.jar
  spring-web-4.1.6.RELEASE.jar
  spring-webmvc-4.1.6.RELEASE.jar

1.controller类:

package com.mr.li.controller;

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

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

public class MyController implements Controller{

    @Override
    public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
        System.out.println("控制器执行了");
        return null;
    }

}

2.src下的spring mvc配置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
        http://www.springframework.org/schema/context/spring-context.xsd">
    <bean id="demo123" class="com.mr.li.controller.MyController"></bean>
    <bean  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="urlMap">
            <map>
                <!-- 配置具体要访问的Servlet名称,例如http://localhost:8080/springmvc001/demo中的demo是访问此servlet
                的意思,当DispatcherServlet收到请求后会在配置中找demo这个名称,找到后会将请求发给此配置的servlet -->
                <entry key="demo" value-ref="demo123"></entry>
            </map>
        </property>
    </bean>
</beans>

3.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                       
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    
    <servlet>
        <servlet-name>springmvc123</servlet-name>
        <!-- 配置DispatcherServlet,此Servlet是spring提供的,专门用于接受客户端的请求 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 修改配置文件路径和名称 -->
        <init-param>
            <!-- 在其初始化的时候指定其加载配置文件的路径,如果配置文件在src可直接写其xml名字即可 -->
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!-- 自启动 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- 配置访问路径,此访问路径是除过.jsp外其他的url后缀皆可访问 -->
    <servlet-mapping>
        <servlet-name>springmvc123</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

url:  http://localhost:8080/springmvc001/demo

web项目结构

原文地址:https://www.cnblogs.com/li-yan-long/p/10724344.html