SpringMVC基础配置

SpringMVC是用步骤:
            - 加入 jar 包
            – 在 web.xml 中配置 DispatcherServlet
            – 加入 Spring MVC 的配置文件
            – 编写处理请求的处理器,并标识为处理器
            – 编写视图

SpringMVC具体使用步骤:
1、在eclipse中创建一个动态web项目;
1、导入jar包(springMVC相关);
            –commons-logging-1.1.3.jar
            –spring-aop-4.0.0.RELEASE.jar
            –spring-beans-4.0.0.RELEASE.jar
            –spring-context-4.0.0.RELEASE.jar
            –spring-core-4.0.0.RELEASE.jar
            –spring-expression-4.0.0.RELEASE.jar
            –spring-web-4.0.0.RELEASE.jar
            –spring-webmvc-4.0.0.RELEASE.jar
2、配置核心控制器(DispatcherServlet);(在web-xml文件中配置)(是用springMVC代替了前面讲解的servlet)
(Alt+/选择倒数第二个dispatcherservlet)

<!-- 前端控制器(直接面向前端,页面的请求可以发送至此) -->
    <!-- The front controller of this Spring Web application, responsible for handling all application requests -->
    <!-- 导入jar包后。将包中springMVC的起始类(总控制类)配置到服务器,让服务器知晓有springMVC,以便今后使用 -->
    <!-- 向服务器注册前端控制器 -->
    <!-- 凡是配置于此(web.xml)的均是单例的 -->
    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <!-- DispatcherServlet指的是SpringMVC的前端配置器(指的是将SpringMVC前端配置上了),全类名给服务器使用,创建 servlet对象-->
        <!-- DispatcherServlet是单例的 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 初始化参数contextConfigLocation用于指定SpringMVC配置文件的路径以及名称 -->
        <!-- 设置springMVC自己的配置文件的位置和名称 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
            <!-- classpath指的是src文件,此处表示将springMVC配置文件放在src文件下的springmvc.xml文件中 -->
        </init-param>
        <!-- 数字0或者大于0的数字表示的是:在服务器启动的时候创建Servlet对象,而不是第一次访问时创建
            小于0的数字表示:在第一次访问的时候穿件Servlet对象,
            在数字大于0的情况下,数字越小,优先级越高!
         -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Map all requests to the DispatcherServlet for handling -->
    <!-- 用servlet-mapping指定请求映射的路径 -->
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <!-- 用url-pattern指定拦截的请求路径 -->
        <url-pattern>/</url-pattern><!-- REST要求简洁,此处不建议使用*。action(可能会报错) -->
    </servlet-mapping>
web.xml相关配置
1 <init-param>
2     <param-name>contextConfigLocation</param-name>
3     <param-value>classpath:springmvc.xml</param-value>
4     <!-- classpath指的是src文件,此处表示将springMVC配置文件放在src文件下的springmvc.xml文件中 -->
5 </init-param>
6 此处若未配置,即当我们不用init-param指定springMVC配置文件的路径好位置的时候,SpringMVC默认会去
7             /WEB-INF/<servlet-name>-servlet.xml
8          (在<servlet-name>对应名称后加-servlet,此时将springmvc.xml中的内容改写到<servlet-name>-servlet.xml中)
web.xml配置补充
 1 <!--针对POST请求乱码的处理:通过过滤器,配置编码格式为utf8-->
 2 <filter><!-- 过滤器设置编码,一般放前端控制器配置文件后面 -->
 3         <filter-name>CharacterEncodingFilter</filter-name>
 4         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 5         <init-param>
 6             <param-name>encoding</param-name>
 7             <param-value>utf8</param-value>
 8         </init-param>
 9     </filter>
10     <filter-mapping>
11         <filter-name>CharacterEncodingFilter</filter-name>
12         <url-pattern>/*</url-pattern>
13     </filter-mapping>
14     
15 
16 <!-- HiddenHttpMethodFilter过滤器可以将POST请求转化为put请求和delete请求! -->
17     <filter>
18         <filter-name>hiddenHttpMethodFilter</filter-name>
19         <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
20     </filter>
21     <filter-mapping>
22         <filter-name>hiddenHttpMethodFilter</filter-name>
23         <url-pattern>/*</url-pattern>
24     </filter-mapping>
web.xml中一些常用配置:1、请求乱码处理;2、PUT请求、DELECT请求

3、创建springMVC配置文件:
    1)、文件名对应web.xml初始化处的文件名;
    2)、使用Spring Bean Configuration File 创建的,不是XML!
选中beans、context、mvc三个选项,点击Next,Finish,则文件创建完成。

4、配置springMVC配置文件:(文件左上角有S标识表示类已加入容器)
    1)、在springmvc.xml中配置SpringMVC容器要扫描的包:(com.neuedu.controller为包名)
            <context:component-scan base-package="com.neuedu.controller"></context:component-scan>
    2)、在com.neuedu.controller包下添加(控制器类)类如AController,注意加入@Controller注解。
    只要在类窗口前添加@Controller注解,则包下的类便加入了springMVC容器,在容器中生成了一个对象(默认的)(springmvc.xml视为一个容器,相当于一个Map)
    其中Map的键为类的首字母小写(如aController),值为类的一个对象

 1 <context:component-scan base-package="com.neuedu"></context:component-scan>
 2             <!--InternalResourceViewResolvers 是视图解析器 ,它会将逻辑视图转换成实际的物理视图,做一个转发操作!
 3             也就是说具体步骤:prefix +  方法的返回值  + suffix-->
 4         <!-- 当返回值为/WEB-INF/views/success.jsp,可写为success -->
 5             <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 6                 <property name="prefix" value="/WEB-INF/views/"></property>
 7                 <property name="suffix" value=".jsp"></property>
 8             </bean>
 9 
10         <!--可视为springMVC标配文件-->
11     <mvc:default-servlet-handler/>
12     <mvc:annotation-driven></mvc:annotation-driven>
springmvc.xml 的常用配置

5、在类中(如AController)添加方法使用springMVC
    1)、在类的方法上使用@RequestMapping注解,在括号里指定请求url的请求路径!

 1  /*
 2          * 我们通过@RequestMapping做映射请求
 3          * @return
 4          */
 5          //括号内路径默认对应value值(即value="/sayHello")
 6          //()内为多个属性时,value不可省略
 7         @RequestMapping("/sayHello")
 8         public String sayHellolo() {
 9             return "/WEB-INF/view/success.jsp";//通过返回值转发到success.jsp页面
10         }

        请求路径名不必和方法名一致,但需和页面中的请求路径名一致。
    2)、创建index.jsp 文件(创建页面):  

 <a href="${pageContext.request.contextPath}/sayHello">测试Say Hello!</a>

 **若想将springmvc.xml单独放一个文件内,可点击选择source Folder创建文件,其相当于动态web项目中的src。

原文地址:https://www.cnblogs.com/kangxingyue-210/p/7406448.html