springMVC环境搭建步骤-非注解方式和注解方式

感觉非注解方式不好用,但是还是得掌握,面试的时候可能会问到相关的

1. 新建web项目

2. 导入核心jar包
     spring-beans.jar
     spring-context.jar
     spring-core.jar
     spring-expression.jar
     spring-aop.jar
     【spring-web.jar
     spring-webmvc.jar】
     
       需导入依赖包:
     commons-logging.jar
     aopalliance.jar
     aspectjweaver.jar

3.在src路径下新建springMVC核心配置文档spring-mvc.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:aop="http://www.springframework.org/schema/aop"
           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-4.1.xsd
                               http://www.springframework.org/schema/context
                               http://www.springframework.org/schema/context/spring-context-4.1.xsd
                               http://www.springframework.org/schema/aop
                               http://www.springframework.org/schema/aop/spring-aop-4.1.xsd">
           
           
    </beans>
     
4.在web.xml中配置前端控制器DispatcherServlet
     <!-- spring前端控制器DispatcherServlet:负责接收所有的请求与响应 -->
      <servlet>
              <servlet-name>springmvc</servlet-name>
              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
              
              <!-- 第一发起请求时,解析spring-mvc.xml配置文件 -->
              <init-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>classpath:spring-mvc.xml</param-value>
              </init-param>
              
      </servlet>
      <servlet-mapping>
              <servlet-name>springmvc</servlet-name>
              <url-pattern>*.action</url-pattern><!-- 匹配所有以.action 结尾的请求,该类型请求才交给spingMVC来处理 -->
      </servlet-mapping>
      
5.在src的spring-mvc.xml中配置springMVC的处理器映射器、处理器适配器、视图解析器

这里是非注解方式配置处理器映射器、处理器适配器
       <!-- 1.【非注解】处理器映射器:根据url请求查找处理器(方法),xxxHandlerMapping  -->
       <!-- 方式①:BeanNameUrlHandlerMapping 根据bean的name属性值匹配url请求路径 -->
       <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
      
       <!-- 3.【非注解】处理器适配器:根据指定规则执行处理器(调用方法),xxxHandlerAdapter -->
       <!-- 方式①: SimpleControllerHandlerAdapter  适配执行所有实现了Controller接口的类 -->
       <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
       这里是注解方式处理处理器映射器和处理器适配器

 <!-- 1.可替换步骤1、3中的处理器映射器、适配器配置步骤 -->
       <mvc:annotation-driven></mvc:annotation-driven>


       <!-- 4.视图解析器 -->                   
       <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
       
6.自定义处理器,实现Controller接口,并提供具体实现
    public class HelloController implements Controller {
        @Override
        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
            
            ModelAndView mav = new ModelAndView();
            
            //相当于request.setAttribute("name","value");
            mav.addObject("message", "恭喜你,创建springmvc的环境成功!!!");
            
            //指定跳转的页面路径:相当于request.getRequestDispatcher("/main.jsp").forward(request,response);
            mav.setViewName("/main.jsp");
            
            return mav;
        }
    
    }
    
7.在src的spring-mvc.xml中配置springMVC的处理器

首先是非注解方式,就是说你加一个处理器就要配一个bean,不方便
     <!-- 2.处理器 -->
     <bean name="/hello.action" class="com.neuedu.controller.HelloController"></bean>

这里是注解方式,把所有的组件都扫描


       <!-- 组件批量扫描,替换步骤2: 专门负责自动扫描@Component, @Repository, @Service, and @Controller注解修饰的类-->
       <context:component-scan base-package="com.neuedu.controller"></context:component-scan>
 

8.定义main.jsp视图
    ${message}

9.测试

    <!--http://localhost:8080/springMVC_00_noannotation/hello.action-->
    
    <a href="hello.action">点击测试springMVC环境搭建</a><br/><br/>
    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值