• springMVC学习总结(一)快速入门


    springMVC学习总结(一)快速入门

    一、初步认识

    • springMVC执行流程
      • <img src="http://images2017.cnblogs.com/blog/1135258/201712/1135258-20171222174147459-726790122.png" width="100%">
        
    • 主要组件
      • DispatcherServlet(中央控制器)
        • 配置在web.xml中的前端控制器,客户端请求的入口,调用HandlerMapping获取处理器
      • HandlerMapping(处理器映射器)
        • 负责调用 HandlerAdapter获取处理器
      • HandlerAdapter(处理器适配器)
        • 调用处理器
      • Controller(处理器)
        • *执行代码逻辑,结束之后返回到 DispatcherServlet 然后由由DispatcherServlet调用调用ViewResolver
      • ViewResolver(视图解析器)
        • 配置在springmvc.xml中的视图解析器,返回视图

    二、开始使用

    • 准备工作

      • 导包
        • 普通web项目

        • maven项目
          要导入的依赖包括:springmvc相关、jsp相关

            <properties>
            	<spring.version>4.1.3.RELEASE</spring.version>
            </properties>
            <!-- springmvc相关 -->
            <dependencies>
            	<!-- Spring -->
                <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-webmvc</artifactId>
                  <version>${spring.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-jdbc</artifactId>
                  <version>${spring.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-aspects</artifactId>
                  <version>${spring.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-context-support</artifactId>
                  <version>${spring.version}</version>
                </dependency>
            	<!-- jsp相关 -->
            	<dependency>
                  <groupId>jstl</groupId>
                  <artifactId>jstl</artifactId>
                  <version>${jstl.version}</version>
                </dependency>
                <dependency>
                  <groupId>javax.servlet</groupId>
                  <artifactId>servlet-api</artifactId>
                  <version>${servlet-api.version}</version>
                  <scope>provided</scope>
                </dependency>
                <dependency>
                  <groupId>javax.servlet</groupId>
                  <artifactId>jsp-api</artifactId>
                  <version>${jsp-api.version}</version>
                  <scope>provided</scope>
                </dependency>
            </dependencies>
          
      • xml文件的配置
        • 前端控制器(web.xml

            <servlet>
                <servlet-name>springmvc</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet
            	</servlet-class>
            	    <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>
            <servlet-mapping>
            	<servlet-name>springmvc</servlet-name>
            <url-pattern>*.action</url-pattern>
            </servlet-mapping>
          
          • load-on-startup:表示servlet随服务启动;
          • *.action这里是客户端访问请求的入口
          • contextConfigLocation:加载springmvc配置文件
        • 核心配置文件(springmvc.xml
          下面以注解开发为例进行示例:

          • 开启注解扫描

              <!--开启组件扫描,扫描位置根据实际项目进行配置-->
              <context:component-scan base-package="com.springMVC.controller" />
            
          • 配置注解映射器

              <!-- 注解适配器 -->
              <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
            
          • 配置注解适配器

               <!-- 注解适配器 -->
              	<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
            
          • 配置视图解析器

              <!-- ViewResolver -->
              <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
              	<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
              	<property name="prefix" value="/WEB-INF/jsp/"/>
              	<property name="suffix" value=".jsp"/>
              </bean>
            
            • 该视图解析器最终返回的视图地址是 “WEB-INF/jsp/hello.jsp”
            • viewClass:该视图解析器需要jstl的相关jar包 来解析jsp页面的jstl标签
    • 代码编写(即Controller

      • 后台代码表现层写法:

        @Controller
        public class Demo01Controller {

          @RequestMapping(value = "/test.action")
          public String test(){
              System.out.println("访问成功!!!!");
              return "hello";
          }
        
      • 视图层代码:

          <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
          <%@page isELIgnored="false"%>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
              <title>Hello World</title>
          </head>
          <body>
          controller 传递过来的值:${message}
          </body>
          </html>
        

        ${message}:表示显示由HelloWorldController处理器传过来的模型数据。
        页面的访问:http://localhost:8080/hello.action 访问路径服务器设置不同有所区别

  • 相关阅读:
    python IDLE 如何实现清屏
    协同过滤算法(天池竞赛试题)
    二次排序
    异常类面试题
    异常类
    2020年Java程序员应该学习的10大技术
    java-servlet-EL表达式和java标签
    java-servlet过滤器和监听
    java-Servlet-cookie and session
    java-servlet-转发AND路径
  • 原文地址:https://www.cnblogs.com/xujie09/p/8087083.html
Copyright © 2020-2023  润新知