zoukankan      html  css  js  c++  java
  • SpringMVC学习总结(一)--Hello World入门

    一、什么是Spring MVC

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。

    今天先从写一个Spring MVC的Hello World开始,让我们看看如何搭建起一个Spring mvc的环境并运行程序

    我们会从一下几个步骤开始

    步骤:
    1、加入jar包
    2、在web.xml中配置DispathcerServlet
    3、加入SpringMVC的配置文件
    4、编写处理请求的处理器,并标识为处理器
    5、编写视图

    二、加入所需的jar包

    • |--commons-logging-1.1.3.jar
    • |--spring-aop-4.3.7.RELEASE.jar
    • |--spring-beans-4.3.7.RELEASE.jar
    • |--spring-context-4.3.7.RELEASE.jar
    • |--spring-core-4.3.7.RELEASE.jar
    • |--spring-expression-4.3.7.RELEASE.jar
    • |--spring-web-4.3.7.RELEASE.jar
    • |--spring-webmvc-4.3.7.RELEASE.jar

    三、在web.xml中配置DispathcerServlet

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     3         xmlns="http://java.sun.com/xml/ns/javaee" 
     4         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
     5         id="WebApp_ID" version="3.0">
     6   <display-name>SpringMVCStudy</display-name>
     7   
     8    <!-- 配置DispatcherServlet  -->
     9   <servlet>
    10         <servlet-name>springDispatcherServlet</servlet-name>
    11         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    12          <!-- 配置DispatcherServlet 的一个初始化参数:配置SpringMVC 配置文件的位置和名称 -->
    13         <init-param>
    14             <!-- mvc配置文件的位置和名称 -->
    15             <param-name>contextConfigLocation</param-name>
    16             <param-value>classpath:springmvc.xml</param-value>
    17         </init-param>
    18         <load-on-startup>1</load-on-startup>
    19     </servlet>
    20     <!-- 接收所有请求 -->
    21     <servlet-mapping>
    22         <servlet-name>springDispatcherServlet</servlet-name>
    23         <url-pattern>/</url-pattern>
    24     </servlet-mapping>
    25  
    26   <welcome-file-list>
    27     <welcome-file>index.jsp</welcome-file>
    28   </welcome-file-list>
    29 </web-app>

    四、编写springmvc.xml配置文件(src下)

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:mvc="http://www.springframework.org/schema/mvc"
     4     xmlns:context="http://www.springframework.org/schema/context"
     5     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     6     xsi:schemaLocation="
     7         http://www.springframework.org/schema/beans
     8         http://www.springframework.org/schema/beans/spring-beans.xsd
     9         http://www.springframework.org/schema/mvc
    10         http://www.springframework.org/schema/mvc/spring-mvc.xsd
    11         http://www.springframework.org/schema/context
    12         http://www.springframework.org/schema/context/spring-context.xsd">
    13 
    14     <!--配置自动扫描的包  -->
    15   <context:component-scan base-package="com.study.springmvc.handlers"></context:component-scan>
    16     <!--配置视图解析器:如何把handler方法,返回值解析为实际的物理视图  -->
    17     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    18         <property name="prefix" value="/WEB-INF/views/"></property>
    19         <property name="suffix" value=".jsp"></property>
    20     </bean>
    21 </beans>

    五、编写HelloSpringMVC.java

     1 package com.study.springmvc.handlers;
     2 
     3 import org.springframework.stereotype.Controller;
     4 import org.springframework.web.bind.annotation.RequestMapping;
     5 
     6 /**   
     7  * 类名称:com.study.springmvc.handlers.HelloSpringMVC     
     8  * 创建人:吴既稳  
     9  * 修改备注:   
    10  * @version jdk1.8    
    11  */
    12 @Controller
    13 public class HelloSpringMVC {
    14     
    15     /**
    16      * @Title: hello
    17      * @Description: TODO  
    18      * 1.使用RequestMapping()来映射请求
    19      * 2.返回值会通过视图解析器解析为实际的物理视图,对于InternalResourceViewResolver  会做如下的解析
    20      *   通过: prefix + returnVal + 后缀   这样的方式得到实际的物理视图,然后做转发操作
    21      *      例如:/WEB-INF/views/successResult.jsp
    22      * @return
    23      */
    24     @RequestMapping("/hello")
    25     public String hello() {
    26         System.out.println("成功......");
    27         return "successResult";
    28     }
    29 }

    六、编写视图

    HelloSpringMVC.jsp为链接请求页面

     1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     2 
     3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     4 <html>
     5   <head>
     6     <title>My JSP 'HelloSpringMVC.jsp' starting page</title>
     7   </head>
     8   
     9   <body>
    10   
    11   <h2>点击下方链接</h2>
    12   
    13    <a href="hello">Hello SpringMVC</a>
    14    
    15   </body>
    16 </html>

    successResult.jsp为跳转结果页面,路径为/WEB-INF/views/successResult.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'successResult.jsp' starting page</title>
      </head>
      
      <body>
      
      <h1>Hello SpringMVC 测试成功</h1>
    
      </body>
    </html>

    七、启动项目,测试结果

  • 相关阅读:
    训练赛(28)—— 计蒜客 45724 Jumping Frog
    训练赛(28)—— 计蒜客 45725 Fujiyama Thursday
    centos上libreoffice+unoconv安装步骤,实现word转pdf
    PhantomJS linux系统下安装步骤及使用方法(网页截屏功能)
    knockout应用开发指南(完整版)
    git 创建版本库
    保留json字符串中文的函数,代替json_encode
    微信公众平台开发接口PHP SDK完整版(转载)
    find_in_set()
    NuSOAP与PHPRPC比较(转)
  • 原文地址:https://www.cnblogs.com/wujiwen/p/6613183.html
Copyright © 2011-2022 走看看