zoukankan      html  css  js  c++  java
  • spring mvc(1):基础入门

     

    依赖

    pom.xml ( maven )
    <properties>
      <spring.version>3.0.5.RELEASE</spring.version>
    </properties>
    <dependencies>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
      </dependency>
    </dependencies>
    没有使用 maven 的需手工导入包 ( 3.0.4 + 版本自由选择 ) :
    spring-core-3.0.5.RELEASE.jar
    spring-asm-3.0.5.RELEASE.jar
    spring-web-3.0.5.RELEASE.jar
    spring-beans-3.0.5.RELEASE.jar
    spring-context-3.0.5.RELEASE.jar
    spring-aop-3.0.5.RELEASE.jar
    spring-webmvc-3.0.5.RELEASE.jar
    spring-context-support-3.0.5.RELEASE.jar
    spring-expression-3.0.5.RELEASE.jar
    aopalliance-1.0.jar
    commons-logging-1.1.1.jar

    web.xml 配置

    为使用 Spring MVC,首先需要在 web.xml 中配置 DispatcherServlet。
    它与 Struts 的过滤器作用类似,主要负责拦截请求并分发给对应的目标来处理。
    web.xml
    <servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>/</url-pattern>
    </servlet-mapping>
    这种配置方式要求项目中必须存在 WEB-INF/[servlet-name]-servlet.xml 配置文件 ( 如这里的 dispatcher-servlet.xml )。
    你也可以通过 <init-param> 来自定义指定配置文件的路径和名称。
    web.xml
    <servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-mvc.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>*.action</url-pattern>
    </servlet-mapping>
    <load-on-startup>1</load-on-startup>
    load-on-startup 配置的是一个非负整数值,表示 Servlet 启动的优先级别。数值越小,优先级别越高。
    0 或 不配置,表示只有当第一次使用该 Servlet 时,容器才会去启动它 ( 包括加载、实例化、以及调用 init() 方法完成初始化 )。
    1 或 > 1,表示 Servlet 将随运用程序的启动而启动。
    <url-pattern>*.action</url-pattern>
    表示拦截所有 .action 的请求,并交由 Spring MVC 来处理,非 .action 的请求,将不由 Spring MVC 处理。
    多个值之间用英文的逗号 “,” 分隔,需要注意的是,值与值之间不能存在空格:<url-pattern>*.action,*.htm</url-pattern>
    <url-pattern>/</url-pattern>
    表示拦截所有请求,并全部交由 Spring MVC 来处理。

    Spring MVC 配置文件配置

    spring-mvc.xml
    <?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:mvc="http://www.springframework.org/schema/mvc"
      xmlns:context="http://www.springframework.org/schema/context"
      xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/mvc
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
      http://www.springframework.org/schema/context 
      http://www.springframework.org/schema/context/spring-context-3.0.xsd">
      
      <!-- 自动扫描的包 -->
      <context:component-scan base-package="org.lychie.tutorial.**.controller" />
      <!-- 开启注解支持 -->
      <mvc:annotation-driven/>
      
      <!-- 视图处理 -->
      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 前缀 -->
        <property name="prefix" value="/WEB-INF/pages/" />
        <!-- 后缀 -->
        <property name="suffix" value=".jsp" />
      </bean>
      
    </beans>

    Simple Example

    HelloWorldController.java
    package org.lychie.tutorial.controller;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;

    @Controller
    public class HelloWorldController {

        @RequestMapping("/hello_world")
        public String execute(){
            return "hello_world_page";
        }
        
    }
    访问方式:/hello_world.action
    页面结果:WEB-INF/pages/hello_world_page.jsp ( 与 spring-mvc.xml 配置文件中的配置相关联,具体是:前缀 + 方法返回值 + 后缀 )
    @Controller
    标识这是一个控制器,与 Struts 的 Action 作用相似。被标识的类具有处理请求的能力。
    @RequestMapping
    映射方法访问的 URL 地址,具体的使用放到下一章节中。

    源代码下载

    springmvc-helloworld.zip 
  • 相关阅读:
    3.Appium运行时出现:Original error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device
    3.Python连接数据库PyMySQL
    2.Python输入pip命令出现Unknown or unsupported command 'install'问题解决
    2.Linux下安装Jenkins
    5.JMeter测试mysql数据库
    Android 4学习(7):用户界面
    Android 4学习(6):概述
    Android 4学习(5):概述
    Android 4学习(4):概述
    Android 4学习(3):概述
  • 原文地址:https://www.cnblogs.com/llq5/p/5181507.html
Copyright © 2011-2022 走看看