SpringMVC_03_创建SpringMVC项目的步骤

创建SpringMVC项目的步骤

* 创建SpringMVC项目的具体步骤

    第一步: 新建一个WEB项目,添加web支持。

    第二步: 创建包结构

    第三步:解决Maven资源过滤问题

           <!-- 资源过滤 -->
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <excludes>
                        <exclude>**/*.java</exclude>
                    </excludes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*.*</include>
                    </includes>
                </resource>
            </resources>


    第四步: 打开 project structure 给项目添加lib文件夹,将所有的包放进lib中,点apply。


    第五步: 配置Web.xml
         
            1.注意web.xml的版本问题需要最新版。

            2.注册DispatcherServlet

            3.关联SpringMVC配置文件

            4.启动级别设置为 1

            5.映射路径设置为 /
      
            - Web.xml代码:

                    <!--配置DispatcherServlet: 请求分发器,前端控制器,所有请求都会经过它-->
                    <servlet>
                        <servlet-name>springmvc</servlet-name>
                        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

                        <!--DispatcherServlet 要绑定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>
                    <servlet-mapping>
                        <servlet-name>springmvc</servlet-name>
                        <url-pattern>/</url-pattern>
                    </servlet-mapping>


  第六步: 配置SpringMVC 配置文件 (Springmvc-servlet.xml代码)

               方式一 : 通过xml的方式配置(不用注解)


                        <!--配置处理器映射器-->
                        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

                        <!--配置处理器适配器-->
                        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

                        <!--配置视图解析器-->
                        <bean id="InternalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                            <property name="prefix" value="/WEB-INF/jsp/"/>
                            <property name="suffix" value=".jsp"/>
                        </bean>

                        <!--BeanNameUrlHandlerMapping:bean-->
                        <bean id="/hello" class="com.shi.controller.HelloServlet"/>


              方式二 : 使用注解配置

                      1. 让IOC的注解生效

                      2.静态资源过滤 HTML JS CSS 图片 视频等

                      3.MVC注解驱动

                      4.配置视图解析器

                     - 代码:


                        <!--自动扫描包,让指定包下的注解生效,由IOC容器同一管理-->
                        <context:component-scan base-package="com.shi.controller"/>

                        <!--使SpringMVC 不再处理静态资源-->
                        <mvc:default-servlet-handler/>

                        <!--
                             支持mvc注解驱动
                             在Spring中一般采用@RequestMapping注解,来完成映射关系。
                             要想使@RequestMapping注解生效,必须向上下文中注册一个DefaultAnnotationHandlerMapping实例和一个AnnotationMethodHandleAdapter实例
                             这两个实例分别在类级别和方法级别进行处理
                             而 <mvc:annotation-driven/> 自动帮助我们完成上述两个实例的注入
                        -->
                        <!--使支持mvc注解驱动-->
                        <mvc:annotation-driven/>


                          <!--配置视图解析器   在视图解析器中我们把视图都放在/WEB-INF/目录下是为了保证视图安全-->  
                          <bean id="InternalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                              <!--前缀-->
                              <property name="prefix" value="/WEB-INF/jsp/"/>
                              <!--后缀-->
                              <property name="suffix" value=".jsp"/>
                          </bean>

                                                                                   

  第七步: 创建Controller类

       1. 在com.shi.controller包下新建一个类,该类使用注解标识@Controller,使用注解以后就不用再xml文件中再配置bean了。

       2. 在controller类的方法上标注@RequestMapping("/hello")括号中写路径名
  
       3. 注解解释:

            -  @Controller代表这个类会被Spring接管,被@Controller注解的类中的所有方法,如果方法的返回值是String,并且有具体的页面可以跳转,那么就会被视图解析器解析。

            -  @RequestMapping("/hello") 括号中填写方法名,该方法名会作为一个路径存在,在地址栏输入哪个 /方法名,就会访问哪个方法。
           
            - 当 @RequestMapping注解在类上写的时候就代表了一个父路径,那么在方法上的 @RequestMapping注解就是该父路径的一个子路径,访问时候就是 /controllerTest/testOne

              例如:
                 @Controller
                 @RequestMapping("/controllerTest")
                  public class ControllerTest {
                      @RequestMapping("/testOne")
                      public String controllerTest(Model model){

                          model.addAttribute("msg","啦啦啦啦啦啦啦啦啦");
                          return "hello";
                      }
                  }


       - 代码:

          @Controller
          public class HelloController {

               @RequestMapping("/hello")
               public String hello(Model model){

                  //业务代码获取到数据
                  String str="Hello SpringMVC  Annotation  2021年5月13日14:07:22";

                  //将获取到的数据封装到model对象中
                   model.addAttribute("msg",str);

                  //return 所需要model对象的前端页面名
                   return "hello";
              }
          }

  * SpringMVC 配置文件
   
                 <?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"
              xmlns:mvc="http://www.springframework.org/schema/mvc"
              xsi:schemaLocation="http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd
              http://www.springframework.org/schema/context
              https://www.springframework.org/schema/context/spring-context.xsd
              http://www.springframework.org/schema/mvc
              https://www.springframework.org/schema/mvc/spring-mvc.xsd">

           <!--自动扫描包,让指定包下的注解生效,由IOC容器同一管理-->
           <context:component-scan base-package="com.shi.controller"/>

           <!--使SpringMVC 不再处理静态资源-->
           <mvc:default-servlet-handler/>

           <!--
                支持mvc注解驱动
                在Spring中一般采用@RequestMapping注解,来完成映射关系。
                要想使@RequestMapping注解生效,必须向上下文中注册一个DefaultAnnotationHandlerMapping实例和一个AnnotationMethodHandleAdapter实例
                这两个实例分别在类级别和方法级别进行处理
                而 <mvc:annotation-driven/> 自动帮助我们完成上述两个实例的注入
           -->
           <!--使支持mvc注解驱动-->
           <mvc:annotation-driven/>


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

       </beans>
posted @ 2021-05-13 14:33  失昼  阅读(138)  评论(0编辑  收藏  举报